При использовании Rocket State
с пропущенными временами жизни запрос к маршруту обрабатывается нормально:
#[post("/foo")]
pub fn foo_handler(db: State<Db>) {
// ...
}
Однако, если указано явное время жизни, ошибки Rocket при запросах с Attempted to retrieve unmanaged state!
:
#[post("/foo")]
pub fn foo_handler<'a>(db: State<&'a Db>) {
// ...
}
Либо что-то, что компилятор здесь не обнаруживает, либо Rocket избегает проверки безопасности, так как это компилируется нормально без каких-либо ошибок или предупреждений. Есть идеи?