дженерик из функции без боксинга ?
Что-то типо (выдаст ошибку, если что):
use std::fmt::Display;
struct SomeGeneric<T: Display> {
field: T,
}
fn new_field_to_display(is_string: bool) -> SomeGeneric<impl Display> {
if is_string {
SomeGeneric { field: "string" }
} else {
SomeGeneric { field: 123 }
}
}
fn main() {
let display = new_field_to_display(false);
println!("{}", display.field);
}
Можно обернуть в енум
Обсуждают сегодня