Тег

GCC

2 материалов

В C++26 появились контракты. Создатель D говорит, что от них мало толку (cppstories.com)

Контракты позволяют функции заявить, что должны гарантировать вызывающие и что она обещает взамен. Нарушение можно проигнорировать, наблюдать, принудительно проверить или проверить с быстрым завершением. Выбор делается на уровне сборки, переносимого переключателя для отдельного утверждения нет. Руководство предупреждает, что контракты не заменяют валидацию входных данных.

Уолтер Брайт, который говорит, что добавлял контракты в Zortech C++ в 1990-х и позже в D, написал, что они «оказались не очень полезными». Встраиваемый разработчик хочет обратного: проверки включены на рабочей станции и выключены на слабых производственных процессорах.

Не просто заголовок — разбор дискуссии

Главные треды HN: факты из обсуждений, разные стороны, голоса инсайдеров. Email, Telegram или RSS.

Кто-то перевёл весь компилятор Rust в 46 миллионов строк на C (github.com)

Смысл не в 46-миллионном артефакте, а в инструменте, который его выдал. Компилятор «cilly» прощупывает целевой C-компилятор крошечными свидетельскими программами вместо допущений сверх ANSI C и компилирует по сети. И «неподдерживаемая платформа» больше не упрёк Rust.

Тред нашёл полезные применения. Экс-разработчик компиляторов одобрил проект. Другие указали на упрощённый бутстрап Rust и трюк безопасности: через Diverse Double-Compiling проверить, нет ли в rustc бэкдора. Справедлив и вопрос скептика: кто доверит экзотику бета-транспайлеру?