Маjко
Поясни задачу
Loo
Adam
as_ref() добавь
Loo
https://play.rust-lang.org/?gist=e85153f1daf5f91f233c453aacec6e86&version=stable&mode=debug
Αλεχ
Αλεχ
Поясни задачу
хочу из итератора по файлам найти файл по имени
Filipp
ㅤ
https://play.rust-lang.org/?gist=744c8bbe3ff453dd0f71dd5e7a7c780a&version=stable&mode=debug это идиоматично вместо return ошибки делать ? на ней с той же целью?
Loo
Loo
потому что поиск по ? найдёт и кучу других мест где уже не ирли ретурн
պլհկ
Evgεny
Закажи и тогда будет
а кто организатор, организаторы обычно заказывают или договариваются, чтобы завезли
Evgεny
или у жидбрейнс есть мастерплан по взращиванию раст-программистов на пицце
Cat
Evgεny
а я и не против
Αλεχ
ㅤ
Тоже так думаю, не знал, что вопросительный знак над ошибкой возвращает её, поставлю там ретурны
Αλεχ
еще вопрос
Αλεχ
struct Struct<'a> {
x: &'a str
}
trait Trait {
fn set<'a>(&mut self, value: &'a str);
}
Αλεχ
как заимплементить Trait для Struct
Αλεχ
чтобы лайфтеймы совпадали?
Αλεχ
https://play.rust-lang.org/?gist=b1155254caf933d76e6d24f5711af99e&version=stable&mode=debug
Денис
https://play.rust-lang.org/?gist=040fa56c0c5d248a4e5d94e26f57ad0f&version=stable&mode=debug
Αλεχ
Αλεχ
могут быть другие методы без лайтайма
Αλεχ
А если нет доступа к трейту?
Αλεχ
есть чужой крейт где есть Trait и AnotherStruct
Αλεχ
а у меня только Struct<'a>
Αλεχ
и я хочу его реализовать
Αλεχ
всё, вилы?
Αλεχ
что там внутри не особо важно. Вопрос про сигнатуры
-__-
Никак не заимплементить, иначе можно было бы в Struct<'static> засунуть что-нибудь с локальным временем жизни.
Αλεχ
да хрень это
Αλεχ
ты мог бы указать что 'b: 'a и все
-__-
Где указать? Трейт не накладывает ограничений на лайфтайм.
Αλεχ
есть трейт, у которого есть метод с лайтаймом
Αλεχ
есть структура с некоторым лайфтаймом
Αλεχ
я хчоу реализовать этот трейт, связав эти лайфтаймы
Αλεχ
что 'a = 'b
Αλεχ
оно ничего не ломает
-__-
Ну в том-то и дело, что в структуре "некоторый" лайфтайм, а в трейте любой.
vddms
Rust ета игра?
Αλεχ
ну так
Αλεχ
существование частный случай универсальности
-__-
Те, кто будут использовать T: Trait, могут какой угодно лайфтайм засовывать в set
Nikita
Sergey
Berkus
митапы с игрушками
Αλεχ
А можно сделать #[cfg(crate_exist = "mycrate")] fn my_fn(_: mycrate::Something) {}?
պլհկ
че за crate_exist?
պլհկ
#[cfg(feature = pook)]
extern crate pook;
#[cfg(feature = pook)]
fn my_fn(_: pook::Perd)
?
Adam
#[cfg(feature = "mycrate")]
Αλεχ
feature это не обзяательно фича
Αλεχ
но и факт наличие крейта?
Berkus
нет, но крейт может зависеть от фичи
պլհկ
optional=true становятся фичами
պլհկ
https://github.com/rust-lang/cargo/issues/4911#issuecomment-355859791
Αλεχ
я просто думал, что фича, это только то, что можно в cargo.toml указать как feature
Αλεχ
а не сами крейты
Αλεχ
буду знать, спасибо
Αλεχ
error[E0658]: access to extern crates through prelude is experimental (see issue #44660)
--> build.rs:6:26
|
6 | if let Ok(dir) = std::env::var("OPENCV_DIR") {
| ^^^
|
= help: add #![feature(extern_prelude)] to the crate attributes to enable
Αλεχ
шта?
Αλεχ
а, понял, надо :: в начале похоуд
კაცი
> see issue #44660
պլհկ
https://crates.rs/
Berkus
ну ничоси
Αλεχ
чет зашел - 90ми повеяло
Αλεχ
еще лет 5 и там начнут флеш-баннеры вылетать
Berkus
90-е это когда фон тайловой картинкой и шрифт комик санс
Αλεχ
нет
Αλεχ
шрифты это уже после
Αλεχ
Ignat
K P A C U B O
պլհկ
Просто цвет не модный