Я хотел бы объявить структуру, которая обертывает универсальный c тип T
, например:
use std::ops::Add;
struct MyStruct<T> where T: Add<&T, Output=T> {
t: T
}
Это не с:
error[E0637]: `&` without an explicit lifetime name cannot be used here
--> src/lib.rs:3:33
|
3 | struct MyStruct<T> where T: Add<&T, Output=T> {
| ^ explicit lifetime name needed here
error[E0310]: the parameter type `T` may not live long enough
Как я могу сказать компилятор, который &T
может быть временной переменной, и поэтому с любым временем жизни все в порядке?
Я не хочу менять свою сигнатуру структуры на MyStruct<'a, T>
, поскольку это делает использование более многословным и сложным.