Стандартная библиотека научилась работать с WebAssembly WASIp2 напрямую, без преобразования в WASIp1
03.09.2025Стандартная библиотека Rust получила нативную поддержку платформы wasm32-wasip2. Раньше вызовы для неё преобразовывались в модель предыдущего поколения — теперь идут напрямую в интерфейсы нового поколения.
Что такое WASIp2
Это интерфейс взаимодействия с внешним окружением для WebAssembly: файлы, сокеты, аргументы командной строки, часы. Проекции WebAssembly не имеют доступа к операционной системе, поэтому такие возможности даются через отдельный слой.
У WASIp1 доступ был бедным, и этого часто не хватало. Новое поколение интерфейса богаче, и главное — не требует преобразований на стороне Rust.
Почему это заметно
Для кода на Rust изменение выглядит незаметным — интерфейсы совместимы настолько, насколько позволяет платформа. Но есть вторая сторона: приложение, собранное для нового поколения, получает доступ к возможностям, которых не было, без всяких переходников на стороне приложения.
Отдельно в том же месяце для платформы написаны собственные реализации стандартного ввода-вывода вместо переиспользования кода от предыдущего поколения — то есть работа шла именно о том, чтобы не тащить старую модель.
Оригинал
std: Start supporting WASIp2 natively
Упоминаний: 1 · Просмотров: 2