История изменений
Исправление monk, (текущая версия) :
Вы же сами доказали, что «assigning a value of a particular type to a differently typed variable causes a compilation error» по Вашей ссылке является ложью.
Потому что в Вашем коде можно написать и
pub fn main(){
let b = B{};
let c1 : &A = &b;
let c2 : &B = &b;
fun(c1);
fun(c2)
}
с1 и с2 имеют разные типы, но им обоим можно присвоить одно и то же значение.
Исходная версия monk, :
Вы же сами доказали, что «assigning a value of a particular type to a differently typed variable causes a compilation error» по Вашей ссылке является ложью.
Потому что в Вашем код можно написать и
pub fn main(){
let b = B{};
let c1 : &A = &b;
let c2 : &B = &b;
fun(c1);
fun(c2)
}
с1 и с2 имеют разные типы, но им обоим можно присвоить одно и то же значение.