Я немного озадачен. Я хочу, чтобы следующий код прошел.
enum Source<'self> {
String(&'self str),
ReaderUtil(&'self ReaderUtil)
}
pub struct Matrix<'self> {
source: &'self Source
}
fn main() {
}
Я начал с простого перечисления, но затем, поскольку мне нужно было использовать &
pointers, мне пришлось оставить его на всю жизнь. Проблема возникла, когда я добавил это перечисление в другую структуру. Я знаю, что не могу дать структуре другое время жизни, кроме 'self
, но это дает мне ошибку для времени жизни, говоря, что анонимные времена жизни не разрешены в Source (это то же самое, что я не добавлял никаких жизней).