и это заставляет меня писать бессмысленные комментарии.
некоторогообсуждениеЯ теперь немного запутался по поводу отношения междуauto-dereferencing
а такжеderef coercion
.
Это выглядит что термин «автоматическая разыменование» применяется только тогда, когда целью разыменования является приемник метода, тогда какэто выглядит что термин "приведение в действие" применяется к аргументам функции и ко всем контекстам, в которых он нуждается.
Я думал, что разыменование не всегда включает в себя разыменное принуждение, но я не уверен: разыменование всегда использует некоторыеDeref::deref
черта реализации?
Если это так, является разработчикомT: Deref<Target = U> where T: &U
встроен в компилятор?
Наконец, вполне естественно использовать термин «autoderef» во всех случаях, когда компилятор неявно преобразует&&&&x
в&x
:
pub fn foo(_v: &str) -> bool {
false
}
let x="hello world";
foo(&&&&x);
Это общий консенсус сообщества?