저는 현재 녹이 슬며 잠자리에 들기도 전에 수학 라이브러리를 작성하고 있습니다. 해결하려는 문제는 간단합니다. 필자는 필드와 링을 모델링하고 싶지만 수명이 오래 걸릴 수는 없습니다.특성에 따른 수명
ring.rs :
pub trait Ring {
fn characteristic() -> int;
fn is_unit(&self) -> bool;
fn is_field() -> bool;
}
field.rs : 여기
코드의use ring::Ring;
pub trait Field : Ring {
fn some_field_method() -> bool {
true
}
}
impl Ring for Field {
fn is_field() -> bool {
true
}
}
나는 다음과 같은 오류 얻을 컴파일 :
/src/field.rs:9:15: 9:20 error: explicit lifetime bound required
/src/field.rs:9 impl Ring for Field {
^~~~~
I을 녹이있는 문서를 읽으십시오. etime 섹션과 그것에 대한 rust-by-example 섹션을 참조하십시오. 평생 뒤에 숨어있는 동기는 나에게 분명하고 모든 주어진 예를 이해합니다. 하지만 여기서, 나는 완전히 잃어버린다.
Btw : 이것은 축소 된 버전입니다. 필자는 필드에 수명을 부여하고 임 플린과 링과 다양한 조합을 말했습니다.
누구든지 여기에서 일어나는 일을 설명하거나, 너무 구체적 인 경우 평생과 특성을 다루는 방법을 설명 할 수 있습니다.
감사
정확히 무엇을하려합니까? 'Field'가 이미'Ring'에서 파생 된 동안 'Field' 특성 객체에 대해'Ring '특성을 구현합니까? – Levans
@Levans Field in Ring을 부분적으로 구현하고 싶습니다. 어쩌면 또 다른 예제가 그것을 명확히 : 나는 동물의 특성을 get_leg_number와 get_color가 있어야한다. 그리고 나는 동물의 특성을 구현하지만 기본적으로 get_leg_number를 4로 설정하는 암소 특성을 원한다. –
나는 더 이상 존재하지 않는 동물이 존재한다고 추가해야한다. 소처럼 전문화되어 있습니다. 반지가 그 자체에 존재해야합니다. 그러나 언제나 필드는 언제나 반지가되어야합니다. –