Ошибки состояния ракеты с «Попытка получить неуправляемое состояние» при использовании явного времени жизни? - PullRequest
0 голосов
/ 28 апреля 2019

При использовании 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 избегает проверки безопасности, так как это компилируется нормально без каких-либо ошибок или предупреждений. Есть идеи?

1 Ответ

0 голосов
/ 28 апреля 2019

Похоже, что это способ достижения требуемого результата:

#[post("/foo")]
pub fn foo_handler<'a>(db: State<'a, Db>) {
  // ...
}

Пример помог в Rocket State docs. Я ожидаю, что будет выдано сообщение об ошибке для вышеуказанных реализаций, так как это допустимый синтаксис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...