Berkus
Berkus
опшен бывает или Some(value) или None
պլհկ
проблема вероятно в том что у кложуру неназываемый тип
NermaN 𓅂
я пытался просто обьявить еще так let mut job = || {}
NermaN 𓅂
а потом заменить это замккание на другое
NermaN 𓅂
но такое провернуть тоже не дает
պլհկ
добавь Box
պլհկ
пока мы не увидим кусок побольше, сложно угадывать
NermaN 𓅂
строка 57
NermaN 𓅂
error[E0308]: mismatched types
--> src/main.rs:57:32
|
57 | job = Box::new(|gp| stop(&gp));
| ^^^^^^^^^^^^^^ expected closure, found a different closure
|
= note: expected type [closure@src/main.rs:53:36: 53:40]
found type [closure@src/main.rs:57:32: 57:46]
= note: no two closures, even if identical, have the same type
= help: consider boxing your closure and/or using it as a trait object
NermaN 𓅂
Sergey
պլհկ
нужен минимальный пример
NermaN 𓅂
нужен минимальный пример
http://play.rust-lang.org/?gist=c82fe0b6ce282c200b816efc9d0cb4c7&version=stable&mode=debug
NermaN 𓅂
вот чего примерно я хочу
NermaN 𓅂
замыкание в зависимости от необходимости будет выполнятся сразу, либо внутри другой функции
NermaN 𓅂
ох, спасибо вам большое, ща попробую у себя так сделать
NermaN 𓅂
я просто неправильно использовал Box
Berkus
это тоже тип )
NermaN 𓅂
ну вот, теперь работает, даже снова можно ездить роботом по дому, но теперь на расте
Berkus
йеее
NermaN 𓅂
возможно даже чуть отзывчивей управление получилось
NermaN 𓅂
попробую теперь осознать почему Box спасает
պլհկ
Потому что Fn это трейт, Box<Trait> - dynamic dispatch
պլհկ
@mersinvald вот зачем нужен dyn)
Маjко
Kerrigan
сорь, у макоси опять фокус летает
Маjко
Мы утром выяснили что и impl Trait in an argument position нужен
Таким же образом
պլհկ
ты знаешь что делать (play.rust-lang.org)
NermaN 𓅂
NermaN 𓅂
все таки чето начинает получатся
NermaN 𓅂
Finished release [optimized] target(s) in 29m 54.17s
Berkus
о, ща на своей посмотрю
Berkus
Berkus
с -j 2 справилось без троттлинга и довольно быстро
Αλεχ
helloworld за час?
Αλεχ
да, довольно быстро
Berkus
ну это актиксовый хелловорлд
Маjко
Αλεχ
Αλεχ
только хелло
Berkus
ну минут за 5 справится
NermaN 𓅂
Я уже много чего вписал туда
Αλεχ
Αλεχ
может по сравнению с плюсами это быстро
Αλεχ
но после раст\C# компилятора который собирает за 10-20 секунд солюшен из 30 проектов это блин долго
NermaN 𓅂
ЧАС КАРЛ
Вообще это полчаса сборка всех зависимостей
NermaN 𓅂
В релизом режиме
Berkus
NermaN 𓅂
В дебаге в два раза быстрее :)
Αλεχ
Денис
Денис
и так-то гцц побыстрее растс будет на порядки )
Денис
блин, да, сталкивался, когда на генте сидел
Денис
тогда правда не 10-15 было, а 8, но не суть)
Berkus
ну берешь hex2c, скармливаешь ему бинарный файл 100-150 мегов, получившийся сишник может сожрать 20-30Гб рамы :)
Денис
Kerrigan
надо попробовать мюслебилдер
Kerrigan
как-то не очень он с этим выкачиванием зависимостей каждый раз
NermaN 𓅂
https://github.com/Nalorokk/robot/blob/master/src/main.rs
NermaN 𓅂
буду теперь пытаться сделать код читаемей
Berkus
Berkus
cargo install cargo-format clippy
Berkus
я бы сделал еще let job: T = match cmd { ....
պլհկ
я б выкинул эту дрочь с кложами и сделал енум