различие по возвращаемому значению функции
От: sergii.p  
Дата: 03.11.22 15:52
Оценка: 9 (1)
не совсем понимаю логику языка

почему такой код возможен

fn foo<T>() -> T 
    where T: std::default::Default {
    T::default()
}

fn main() {
    let x: i8 = foo();
    let x: i32 = foo();
}


а такой — нет

fn foo() -> i8 { 0 }
fn foo() -> i32 { 0 } 

fn main() {
    let x: i8 = foo();
    let x: i32 = foo();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.