Skip to content
Rust 集成 Beta

Auto × Rust

将 Auto 作为 Rust 的脚本环境。AutoVM 可直接调用几乎任何 Rust 代码, 也可通过 A2R 将 Auto 转译为生产级 Rust。

深度 Rust 集成

任意
Rust 代码
AutoVM 可直接调用几乎任何 Rust 代码。
A2R
转译器
Auto → Rust,行为与 AutoVM 保持一致。
2
标准库模式
Auto 独立标准库或 Rust 原生标准库。
100%
后端自由
从 Auto 代码中调用任意 Rust crate。
脚本化

AutoVM 作为 Rust 脚本环境

AutoVM 不再只是语言虚拟机,而是完整的 Rust 脚本环境。

  • 调用任意 Rust 代码 — 从 Auto 脚本直接调用
  • 热重载 — 无需重新编译宿主程序即可迭代 Rust 逻辑
  • 零 FFI 样板代码 — AutoVM 自动处理类型封送
  • 嵌入 Rust 库 — 作为一等 Auto 模块使用
script.at
use.rs std::path::PathBuf
use.rs std::time::Duration
let p = PathBuf.from("src/main.rs")
print(p)
let d = Duration.from_secs(5)
print(d)  // prints 5000ms
转译

A2R 转译器

将 Auto 编译为 Rust,行为与 AutoVM 保持一致。从 Auto 源码直接发布生产级二进制。

  • 行为一致 — A2R 输出与 AutoVM 语义保持一致
  • Axum HTTP 生成 — #[api] → 完整 Axum 服务器
  • Tauri IPC — #[tauri::command] 与 Channel 支持
  • 逃逸分析 — 自动选择最优的 borrow / clone / Rc
  • 合并模式 — 多文件项目级转译
a2r 输出
// Auto 源码
fn add(a: int, b: int) -> int { a + b }
// 生成的 Rust
fn add(a: i64, b: i64) -> i64 { a + b }
标准库

双标准库模式

根据部署目标选择最合适的标准库。

  • Auto 独立标准库 — io、net、http、fs 等常用功能。当前支持 Rust,未来支持 Python 等平台。
  • Rust 嵌入模式 — 直接使用 Rust 标准库和任意 crates.io 第三方库,无需重新实现。使用 use.rs 导入(旧写法 use.rust 已废弃)。

Auto 标准库

跨平台可移植

Json.parse(data)

Rust 标准库

完整 crates.io 访问

use.rs std::net::TcpListener

为什么选择 Auto + Rust?

🚀

脚本化速度

无需为每个任务搭建 Cargo 项目,用 Auto 编写 Rust 驱动的脚本。

📦

Crate 生态

无需离开 Auto 即可接入 crates.io。Axum、Tokio、Serde 全部可用。

🔄

迭代工作流

在 AutoVM 中快速原型,用 A2R 发布生产代码。同一套代码,两种执行模式。

🛡️

内存安全

Auto 的所有权系统与 Rust 借用检查器自然映射。

⚡

零成本抽象

A2R 生成地道 Rust 代码,无运行时开销。

🔧

逃逸分析

编译器根据实际使用模式自动选择 borrow、clone 或 Rc。

开始使用 Auto + Rust

阅读设计文档、运行 Cookbook 示例,或在 Playground 中体验 Rust 脚本模式。

基于 MIT 许可发布。