Topazdocs
Интеграция и миграция

Интеграция с Rust

Что даёт Rust generation v5.6 и что не становится частью языка Topaz.

Rust — lowering/native-build target, не embedded syntax. Checker сначала разрешает полный Topaz unit, затем emitter генерирует Rust против shipped runtime closure. Artifact можно интегрировать на build boundary без Rust tokens в .tpz.

Контракт и компоненты

Default emission — boxed backend. Native backend специализирует доказанные scalar regions и fallback к boxed. emit --out-dir создаёт cargo-runnable crate; native build вызывает cargo и может запустить результат. Runtime closure поставляется с compiler, отдельная установка Topaz на target не нужна.

Рабочий процесс

Сохраняйте source/API canonical Topaz. Выполните check, сравните run, emit/build и тест artifact с теми же inputs/profile. Rust wrapper — foreign code с отдельным ownership, error, dependency и security review.

Текущая поддержка

Пути boxed и native Rust сравниваются с непосредственным выполнением. Тесты также компилируют созданные crates и проверяют web runtime, арифметику, модули, ошибки и очистку ресурсов.

Границы и ограничения

use crate::, ::, attributes, references, Vec<T>, impl, Rust receivers/closures запрещены в canonical Topaz. v5.6 не обещает source-level Rust FFI, stable generated internals, arbitrary host exception translation или безопасность wrapper только из-за успешной compilation.

Справочник команд

topaz emit main.tpz
topaz emit main.tpz --out-dir generated-rust
topaz build main.tpz --out-dir native-build --run

Связанная документация