Проблема в том, что вам не хватает памяти.
Многие операционные системы "ленивы" выделяют память.Это означает, что ОС на самом деле не будет выделять реальный объем памяти, который вы запрашиваете, пока вы его не используете.Вы запрашиваете не менее 75 106 434 393
октетов (он же 70 Gio), но Rust не оптимизирует размер Vec<bool>
, поэтому вы запрашиваете 600 851 475 143
байт (aka 600 ГиБ) - ваша операционная система не нашла достаточно памяти.
Ошибка вашей операционной системы не может быть исправлена, поскольку она уже сказала «ОК», когда вы запросили память.Это критическая ошибка, поэтому он завершает ваш процесс дампом ядра.
Я думал, что Rust - это безопасность и предотвращение дампов ядра?
Дамп ядра не даетНе обязательно означает, что ваша программа не является безопасной.Как видите, ваша программа не имеет доступа к памяти за пределами допустимого уровня, просто ей не хватает памяти.Это лучший способ справиться с этой ошибкой с точки зрения вашей ОС, и нет ничего опасного в соответствии с определением safe в Rust.
Кстати, на моей машине (archlinux) ваша программа простоубито:
[1] 4901 killed cargo run