Loo
Слышал есть refind для uefi
Амир
Ребят, помогите) https://gabdube.github.io/native-windows-gui/api/native_windows_gui/struct.Ui.html#method.get_mut let change_text = app.get_mut::<AppId>(&NameInput);выдает The key was not found in the ui
Berkus
У меня с граб по скорости никогда проблем не было и не знал что о таком задумываются люди
ты может просто ВООБЩЕ ВСЕ модули не грузишь там, а только нужные
Loo
что ты в конструктор типа передаёшь вместо Label - AppId
Амир
что ты в конструктор типа передаёшь вместо Label - AppId
Уфф, вот так тоже не выходит: let change_text = app.get_mut::<nwg::TextInput>(&NameInput);
Амир
Почему-то в примере написано ui.get_mut::<u32>(100)а у меня требует error[E0308]: mismatched types --> src\main.rs:126:50 | 126 | let change_text = app.get_mut::<u32>(100); | ^^^ expected &AppId, found integral variable | = note: expected type `&AppId` found type `{integer}`
Filipp
Давай мы вместо, того чтобы рыбу тебе дать, научим тебя рыбачить.
Filipp
Ты понимаешь что треугольные скобочки значат?
Filipp
Или ушёл уже?
Судзумия
Возможно, он уже умеет рыбу ловить
Судзумия
Теперь его надо научить, что делать с рыбой после того, как ты её выловил
Berkus
でゲソ
Граб минимум полторы секунды отжирал
ты наверное дико постарел
Маjко
ты наверное дико постарел
Сарказм неуместен, я подробно пояснил почему для меня эти полторы секунды играют роль
でゲソ
нет
でゲソ
кроме того что твой ноут умеет в гибернацию и граб тяжеловесное легаси говно
でゲソ
нифига не понимаю как работает чтение из файла
でゲソ
cargo test : 3 passed 0 failed cargo test : 2 passed 1 failed
でゲソ
почему при повторном запуске теста он не осиливает считывать содержимое файла?
でゲソ
чтение https://github.com/non-descriptive/domi/blob/dev/src/parser.rs тесты https://github.com/non-descriptive/domi/blob/dev/tests/test.rs
Berkus
нифига не понимаю как работает чтение из файла
drop(file); то зачем? он сам дропнется
でゲソ
по привычке
Berkus
тесты у тебя неправильно написаны
Berkus
они в любом порядке могут выполняться
Berkus
у каждого теста должен быть setup и teardown
Маjко
кроме того что твой ноут умеет в гибернацию и граб тяжеловесное легаси говно
Не умеешь читать — не вижу смысла для тебя отдельно что-то объяснять
Berkus
годный пример?
test_read_from_file() { // setup create_file_to_read(); // test assert read_file is ok // teardown delete_file_to_read() }
Berkus
ну и вообще лучше без реальных файлов это тестировать
Berkus
на const memory для чтения и на обычных memory bufs для записи
Маjко
Для этого есть крейт tmpfile
Маjко
Всё как с файлами, но он юзает API ОС для создания временных файлов в памяти
Маjко
И чистит их после
でゲソ
то есть если я надумаю пилить приложение с конфигфайлом, то реальные файлы ненужны?
Berkus
https://github.com/berkus/carma/blob/rust/src/support/mesh.rs#L141
でゲソ
но почему тем не менее прогон теста чтения фейлится на повторном чтении7
でゲソ
по завершении же вроде логично что все файловые дескрипторы закрыты
Berkus
ну дело явно не в дескрипторе
Berkus
какая ошибка то?
Маjко
Энивей, это твой выбор: как тестировать. Тесты не выполняются последовательно, порядок недетерминирован. Ты должен перед каждым тестом создавать свой тестовый файл и после чистить за собой. У тебя сначала запускается рид, потом райт тест
Маjко
Например
Маjко
И твои тесты превращаются в тыкву
Berkus
я ж это написал буквально 6 минут назад
Маjко
Я видел
でゲソ
Маjко
А еще они могут запускаться паралельно)
でゲソ
причем запускает параллельно только если файл непустой?
Маjко
create_file_with_data создает файл, так?
でゲソ
пишет в файл
Berkus
でゲソ
таки нет
でゲソ
если файл изначально пустой, то отрабатывает ок
Berkus
это perceived state
でゲソ
если файла изначально нет, то тоже ок
Маjко
Нет я вижу из кода, что он создает: https://github.com/non-descriptive/domi/blob/dev/src/parser.rs File::create(path) Обратимся к документации: This function will create a file if it does not exist, and will truncate it if it does.
Berkus
попробуй разные имена файлов в этих двух тестах использовать
Маjко
Тест write транкейтит файл
Маjко
В это время read пытается читать пустой файл или не до конца записанный
Маjко
Делай тесты правильно.
Маjко
мдаа
Откуда такая привычка то пошла, интересно?
Loo
вот хз
Маjко
Си разве что на ум приходит
Маjко
Но сишники должны знать о поведении fopen с флагом create
でゲソ
есть контакт
Loo
https://doc.rust-lang.org/std/fs/struct.File.html
Маjко
Loo
первый абзац документации по File
でゲソ
таки значит параллельность тестов
Loo
последняя строка
Loo
Files are automatically closed when they go out of scope.
でゲソ
где гарантия что я вышел из скоупа?
でゲソ
а вообще да, это лишняя перестраховка
でゲソ
да
Loo
Маjко
Понимание что такое скоп — твоя гарантия. Это не рокет сайенс, это синтаксический примитив практически