Песочница

Проверенные поверхности

Трёхсемейная квитанция на 144 случая и кампания одной линии Rust на 11 088 случаев остаются разными измерениями с явными инвентарями и происхождением.

Из чего состоит поверхность

Интегрированный инвентарь содержит ровно 144 случая.

Семейство случаевКоличествоЧто наблюдается
дифференциальные38понижение, выполнение и согласие именованных результатов
соответствие61поддерживаемые формы и процедуры
предупреждения7точный порядок и каналы
ресурсы6чистые именованные ресурсные исходы
сгенерированные в фиксированных пределах32фиксированное зерно и сохранённые входы
Всего144один общий инвентарь Rust, LIL и LIT

Квитанция хранит точный список, исполнители, наблюдения, пределы, происхождение, артефакты, расхождения и случаи, которые нельзя сравнить. Она измеряет 432 выполнения и сообщает 59 совпадений всех семейств.

Отдельные линии свидетельств

ЛинияЧто измерено сейчасСильнейшее честное чтение
примеры документации122 аннотации плюс диагностика, хвостовые вызовы и управлениеназванные примеры совпадают с эталоном
LILсейчас 205/205 и 18/18 guest-calling, а в общей выпущенной квитанции 84 строкиотдельные проверки охватывают прежнюю сходимость, точные целые, процедуры высшего порядка, вывод, а также 4 успешных и 3 отрицательных наблюдения alias с предупреждениями, где проверяются порядок, дедупликация места вызова, перекрытие имени, предупреждение перед ошибкой, разделение каналов и отсутствие запрещённого запасного пути. Историческая квитанция не меняется
LIT84/205 и 6/18 guest-callingв квитанции Rust/LIT даёт 65/79, и независимость исходника не заявляется
четыре маршрута LITТопаз, сгенерированные Rust и Python, веб. Маршрут означает один способ запустить правилосогласие одной версии исходника на точной внутренней области измерения. Это варианты хоста, а не четыре реализации
три семейства144 случая и 432 выполнения59 общих совпадений, 253 совпадения пар, 179 попарных расхождений
одна линия Rust11 088 сохранённых случаев Native и WebAssemblyноль естественных расхождений и сбоев инфраструктуры на этом инвентаре
Rust tree/VMсфокусированные программы смысла и управления, dispatch всех 205 примитивов, отрицательные случаи malformed bytecode, точные identity исходника, Core IR и байткода и фиксация отсутствия запасного пути. VM означает виртуальную машину, то есть программу, которая выполняет уже скомпилированный список инструкцийявная VM совпадает с tree на этой поддерживаемой области одной линии Rust. Это не независимый свидетель, не квитанция Ваучера и не доказательство всего профиля

Синтетический дрейф и мутационные проверки отдельно показывают, что выбранные классы повреждений обнаруживаются. Они не доказывают обнаружение любой возможной ошибки.

Сводная проверка соответствия состоит из нескольких слоёв

  1. Написанные вручную примеры фиксируют по одному поведению.
  2. Генерируемые случаи исследуют больше корректных и намеренно ошибочных программ.
  3. Мутационные контроли показывают, что выбранная порча контракта отвергается.
  4. Ресурсные случаи сохраняют завершение в фиксированных пределах как наблюдение.
  5. Диагностические случаи сравнивают коды, сообщения, позиции, байты и порядок предупреждений.
  6. Дифференциальные прогоны сравнивают один случай между допущенными семействами.

Ни один слой не заменяет остальные. Новое различие пары сначала получает статус unclassified, и сводная проверка остаётся закрытой, пока наблюдение и основная причина не записаны.

Частая ошибка

«Ноль расхождений» всегда относится к названному сохранённому или выполненному инвентарю. Это не утверждение об отсутствии расхождений вообще.

Текущие границы

Кампания на 11 088 случаев сравнивает две поставки одной реализации Rust. Она не является квитанцией Rust/LIL/LIT и не устанавливает независимость реализаций или эквивалентность всего языка.

Сфокусированные проверки LIL меняют только его текущее покрытие. Они не пересчитывают и не расширяют историческую квитанцию из 144 случаев.

Отчёт сравнения Rust tree/VM является диагностическим материалом. Он не входит в знаменатель бэкендов и не даёт полномочий выполнения.

Куда дальше

Матрица показывает результаты пар, а текущая и отложенная область отделяет язык от возможностей интерпретаторов с фиксированными пределами.

Байткод и Rust VM · Матрица наблюдений · Текущая и отложенная область