LINUX.ORG.RU

История изменений

Исправление 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 имеют разные типы, но им обоим можно присвоить одно и то же значение.