2017-12-27 2 views

답변

5

그것은 그렇지 않으면 RcDerefDerefMut 구현을 통해 볼 것 쉐도 잉 방법을 방지하는 것입니다. documentation of Rc 인용 : Rc

고유의 방법을 사용하면, 예를 들어로 전화를해야한다는 것을 의미 모든 관련 기능이 있습니다 value.get_mut() 대신 Rc::get_mut(&mut value)입니다. 이렇게하면 내부 유형 T의 메소드와의 충돌을 피할 수 있습니다.

예를 들어, Foo가 자신의 방법 Rc::weak_count를 호출 Rc::weak_count(&foo)을 사용자가 Foo::weak_count 전화를 foo.weak_count(…)를 작성할 수 있습니다 것이 정적 방법을 사용하여, weak_count이라고하며 정의 위치를 ​​Rc<Foo>이있는 경우.

(이러한 이유 때문에 Deref/DerefMut을 정의하는 유형에 내장 메소드를 추가하면 이전 버전과의 호환성이 깨질 수 있습니다).

+0

나는 같은 페이지에서 공식 문서를 놓쳤다 ... 나는 아주 나빠야한다. 나는 스스로 downvote 줄 :) –

관련 문제