|
|
|
|
|
by codeflo
1612 days ago
|
|
I don't think that would work in general: trait methods can have signatures for which you can't synthesize an implementation for the sum type (something that takes a second Self as an argument, like std::ops::Add, comes to mind). For object-safe traits where this would be possible, you can at least do this at the cost of an allocation, as you probably know: fn some_func() -> Box<dyn SomeTrait> {
if some_condition {
Box::new(a)
} else {
Box::new(b)
}
}
|
|