В частности, Path? (потому что у него нет константой функции-конструктора)
Под константным вы понимаете иммутабельный?
Нет, именно константный: error[E0015]: cannot call non-const fn `Path::new::<str>` in constants --> src\kata3_munging.rs:53:25 | 53 | const DATA_DIR: &Path = Path::new(concat!(env!("CARGO_MANIFEST_DIR"), "/data")); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: calls in constants are limited to constant functions, tuple structs and tuple variants
Можно с lazy_static
Потому что не сделали - link, но можно пользоваться nightly И посмотрите на once_cell::Lazy (его хотят завести в std под названием std::sync::LazyLock, но пока он nightly)
Спасибо за ссылку, автор как раз спросил то, что я хотел узнать. Мне тоже очень странным показалось, что нельзя. Но, в nightly есть подвижки, это хорошо...
Обсуждают сегодня