Обнаружил странную штуку с временами жизни в расте, которую не понимаю. Есть структура, которая держит ссылки. Ей во владение передается данные, не просто ссылки. Она возвращается из функции. Если указать время жизни в сигнатуре функции, то все пашет, не указать компилятор ругается, что передающая структура живет недостаточно. Но указание в сигнатуре не связывает возвращаемое значение с передающим, она там просто написана и все. Пока что не понимаю что вдруг borrow вдруг работает.
Но пока пойдет, что я знаю эту странность. Надо вернуть значение с временами жизни когда оно точно владеет данными, укажи время жизни в сигнатуре функции и возврата.