Marat
Вернее можно, но там через жопу
պլհկ
В тестах и принтлн не грех
Bugworm
кстати, а что ассерт делает? А то раскидали его так знатно по книжке, а что это такое вообще, не обьяснили
Bugworm
ну или я проебал этот момент
Bugworm
ну он типа сравнивает, но что он дальше делает?
պլհկ
Паник
Bugworm
паник если не совпадают?
Tim
обычно ассерты следят за сохранением всяких инвариантов, и при нарушении завершает программу
Bugworm
а если совпадают, просто скипает?
Tim
да
պլհկ
Да
Marat
В тестах и принтлн не грех
Ну для либ день отдельно бинарник делать
Bugworm
понял
Marat
а есть мануал?
Ну там надо просто посмотреть какой файл генерится когда тесты запускаются
Marat
Проблема в том что он каждый раз новое имя
պլհկ
Не каждый (я не понял по какой логике новое имя)
Anton
типа математики виснут когда видят инкримент в програмировании
VCL
Привет, у кого есть пикча где сравнивается chad++ и novice rust?
Sr
0 = 1
бля во я косой. у меня получилость 2x=1 🤦‍♂️
VCL
Надо кое кому объяснить в кратце с чем едят раст
VCL
нашёл
ㅤ
Её кидают сюда раз в месяц
Вячеслав
покажите математикам x = x + 1
Если взять кольцо из 0, то все будет ок
doc
покажите математикам x = x + 1
Вот ни одного математика не видел, чтоб вис
Anton
Зануды
Alexander
Вопрос: vec<box<f32>> по скорости сильно от vec<f32> отличается?
Vladimir
Стильно
Vladimir
По скорости чего?
Ilya
Вопрос: vec<box<f32>> по скорости сильно от vec<f32> отличается?
конечно отличается, но конкретные цифры слишком от многого зависят
Alexander
Тогда вопрос. У меня есть треит. Если структура, в которой только f32. Так вот проблема сделать vec структур, и пришлось boxed, так как рас ругается что размер третья неизвестен.
Alexander
И указание того что треит Sized не помогает.
Alexander
Сейчас накидаю в плей-граунде.
Alexander
https://play.rust-lang.org/?gist=0c5ec335ba61e9e04b731ca916be6543&version=nightly
Alexander
вообще всё вроде просто вроде, но этот box вообще всё портит
Alexander
а всё что я хочу - это дать нормальный интерфейс для паралелльного прохода по векторам значений. т.е. чтобы в fn calc передавалась структура, чтоб было понятно где какое поле.
doc
Может в сторону срезов посмотреть?
Alexander
Эээ, ну замена век на слайс ничего особо кажется не поменяет.
でゲソ
Вот ни одного математика не видел, чтоб вис
главеное чтоб в рекурсию не уходили
Anton
Уходят, потом стека не хватает
kitsu
https://dl.acm.org/citation.cfm?doid=3177123.3158154 не только игрушки, между прочим
kitsu
люди в асме вон публикуются а ты все хелло-ворлд на токио написать не можешь
Oz
Приветствую всех. В один прекрасный момент mdbook перестал компилироваться. Ошибка: —--------------- error: expected ident, found # —> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.1/src/lib.rs:423:29 | 423 | #[allow(deprecated)] | ^ | ::: /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.1/src/example_generated.rs | 4 | / bitflags! { 5 | | /// This is the same Flags struct defined in the [crate level example](../index.html#example). 6 | | /// Note that this struct is just for documentation purposes only, it must not be used outside 7 | | /// this crate. ... | 13 | | } 14 | | } | |_- in this macro invocation error: Could not compile bitflags. warning: build failed, waiting for other jobs to finish... error: failed to compile mdbook v0.1.2, intermediate artifacts can be found at /tmp/cargo-install.f4jzVAPLwj2t Caused by: build failed —------ Что это может быть и в каком направлении копать? rustc 1.19.0
strcpy
nightly?
Oz
В причинах проблемы не разобрался... Вычистил весь rust из системы и поставил 1.23. Заработало... Впрочем я расчитывал, что это должна была быть стабильная версия, без подобных сюрпризов...
n
Привет
n
Кто-нибудь знаком с https://github.com/fractalide/fractalide
n
Насколько это вообще юзабельно
Konstantin
я сдался еще на описании
Konstantin
http://fractalide.com/ вообще про крипту
n
У меня тоже мозг плавится от описания
n
http://fractalide.com/ вообще про крипту
Стильно модно молодёжно
n
Меня интересует сам fbp фреймворк
n
Но судя по тому, что у них дефолтный пример валится с сегфолтом
n
Затея у них в стадии хз чего
n
Но выглядит их концепция интересно
Oz
Выглядит как неработающий мусор...
n
скорее как прототип
n
который может стать мусором
n
задумка выглядит куда привлекательнее остальных fbp-решений
n
я правда далеко не спец fbp, но стандартные решения типа apache nifi выглядят переусложненными
n
а тут и rust и idris и nix — авторский функциональный язык
Vadim Agishev
Тогда вопрос. У меня есть треит. Если структура, в которой только f32. Так вот проблема сделать vec структур, и пришлось boxed, так как рас ругается что размер третья неизвестен.
@inv2004 Vec может хранить значения строго одного размера. Т.е. значения, которые занимают в памяти однинаковое кол-во байт. Например, Vec<i32> хранит значения размером 4 байта каждый. Но ты хочешь положить в Vec trait, что напрямую нельзя, т.к. структуры реализующие этот трейт, могут иметь разный размер в памяти. Поэтому ты правильно сделал, что положил трейт в Box, т.е. Vec<Box<Calc>>. Положив Calc в Box ты привел все значения вектора к одному размеру - а именно к double word (8 или 16 байт в зависимости от разрядности арх. процессора), т.к. Box это двойной указатель на область памяти в куче (heap), где у тебя в действительности лежит структура, реализующая трейт Calc.
でゲソ
Щас слово же вроде 32-64 же
でゲソ
А, стоп, что за апх
Alexander
Спасибо за ответ. Я понимаю. Но проблема, что мне нужен трейт для структур фиксированной длины.
В том плане, что по факту мне не надо для всех структур данный трейт иметь, а только для своих. + Всё это немного сложно, когда по сути я хочу по сути очень простую вещь. Но что-то это в какой-то треш сейчас выливается.
Alexander
3 дня уже с этим сижу, аппетит потерял :) Да, через боксы работает, но на вид это не так как я хотел.
Vadim Agishev
Ты Calc реализуешь для struct Ind, в котором у тебя f32. Но тот же Calc можно реализовать для struct Ind2, в котором уже будет f64. В итоге мы получим два объекта реализующих один трейт Calc, но имеющих по факту разный размер в памяти. Поэтому и трейты нельзя класть в Vec напрямую. Rust требует 100% гарантий, что элементы Vec будут иметь один размер
Alexander
Это ясно, признаться не знаю что делать, если только макросы ковырять начинать.
Vadim Agishev
3 дня уже с этим сижу, аппетит потерял :) Да, через боксы работает, но на вид это не так как я хотел.
с Rust все так. Но это просто издержки за безопасную работу с памятью. Просто надо привыкнуть и не париться по поводу красоты и лаконичности кода;) Как в python или в ruby никогда не получиться
Filipp
А просто ind в вектор положить не работает?
Alexander
Работает, но я хотел всю общую логику типа fn play - в библиотеке. А в своём бинарники описываешь изи только структуру и fn calc. Так как по логике этого достаточно.