на Foo и вызвав clone в соответствующем месте?
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=ef572981c226d01bfc8568d6b213e5a1
upd: менять сигнатуру Foo::get нелья :)
upd2: у bar менять параметр f на ссылку тоже смысла нет, потому что внутри неё придется делать тот же clone
придумалось такое: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=8e53c7cad1871ffac380d1d4a1994fbd в целом пойдет, всем спасибо :D
У тебя же тут bar() всегда будет None возвращать, это точно то, что ты хочешь?
ну, в реальности код, конечно, немного другой: get в реальности может вернуть None. ну и смысл - использовать дальше f, если get() вернул этот самый None в общем да, хочу так :)
Если что, можно сделать цепочку f.get().is_some().then(||bar(f))
О, так мне больше нравится, спасибо большое
Обсуждают сегодня