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