Deref coercion
(自动解引用类型转换)精制总结
语法功能:
实现【解引用】操作符
*
在自定义【智能指针】上的行为。从而,使【智能指针】如同【普通引用】一样使用。
实质能力:
将
A
类型的实例转换成B
类型实例的引用,只要A
与B
类型之间满足A: Deref<Target = B>
或A: DerefMut<Target = B>
。更具体的描述,请见下表:
自动触发场景:
先对
A
类型实例完成Deref::deref(&A)
处理和返回&B
(或DerefMut::deref_mut(&mut A)
返回&mut B
)再对
B
类型实例的引用&B
执行解引用操作*
,得到B</