понимаю анонимные лайфтаймы и HRTBs 😢😬
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f7de5bca3554b497bc75199bedf2a804
ЧЯДНТ?
тебе не нужны HRTB: trait AsFoo { fn as_foo<'a>(&'a self) -> &Foo<'a> where Self: AsRef<Foo<'a>> { self.as_ref() } }
Я хреново изолировал проблему - пример хреновый. У меня трейт - Foo-Agnostic и лайфтайм-агностик типа такого... trait Renderer<Content> А реализация его должна быть что-то впроде такого impl<Content> Renderer<Content> for MyRenderer<.....> where Content: AsRef< Foo<'foo> > И проблема у меня с лайфтаймом 'foo потому что в параметры методов его не вкорячишь и он там не нужен, а глобально он может быть разный и да, я постоянно получаю `error: implementation of `AsRef` is not general enough`.
@insert_reference_here ping?
where Content: for<'foo> AsRef<Foo<'foo>>?
Блин, я не понимаю... https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4e176b1b8db6172109bdcceff7de64ff (да, это похоже на классику "сделайте за меня") https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4e176b1b8db6172109bdcceff7de64ff
Обсуждают сегодня