独立软件团队 — Est. 2025
主页 / Aero / 1.2.1
PATCH — 01.2.1
AeroAero .. 1.2.11.2.1
补丁版 · 3 个 P0 崩溃修复
CLI / LSP · 源码级兼容
PATCH RELEASE —
2026-09-26
ZERO UPGRADE COST
VERSION / 版本
1.2.1
STATUS / 状态
Released
TYPE / 类型
Patch · 100% src-compatible
TESTS / 测试
404 passed / 0 failed
( 01 )

P0 崩溃级修复
三条。

Critical Fixes

这三条都是普通写法就能触发的崩溃,不是边角用法。 修之前:debug 断言 / release 访问违规 0xC0000005。

P0-1

arena 动态下标写崩溃

arena 缓冲区配 while 循环做 p[j] = j 这类动态下标写入时,会覆盖指针自身,大下标触发访问违规 0xC0000005。

根因:下标读/写路径的指针分支漏了一次 load。所有分支统一 load — 指针始终指向正确缓冲区。

P0-2

聚合类型隐式返回崩溃

返回 str / String / Vec / struct/enum 的函数,若存在"可能走到函数末尾"的兜底路径(典型如尾部 if 没有 else),兜底值被按整数构造——debug 下断言、release 下访问违规。

编译器现在强制要求:显式 else 或函数末尾显式兜底值。

P0-3

arena 容量越界静默终止

alloc() 超池容量原本什么都不打印就退出。现在先打印所需槽数、字节数与池容量再终止。

语义不变(宁可错杀、不静默写坏内存),但开发者能定位是哪个 arena 爆了。

( 02 )

CLI & 工具链
不再翻车。

CLI & Toolchain
run / build / bench / fmt

路径含空格彻底修好

以前在 E:\Projects\Aero 这类路径下会被按空格切分 → cannot read file E:\Projects\Aero。现全程按参数数组传递。

aero --version

新增 version / help

-V / -v / version 输出版本号;--help 退出码 0,不再像以前那样 exit 1。

LSP

LSP 诊断全丢 — 已修

诊断 JSON 的对象闭合顺序写反,编辑器解析失败后静默丢弃整条诊断——也就是"IDE 里看不到任何编译错误"。

tests/verify

清掉 4 个历史碎片

tests/verify/ 里有 4 个遗留测试文件实际上不可编译,已修正。

( 03 )

诊断质量
报错更清楚了。

Diagnostic Quality
REDEFINE

重定义内置函数

以前只报 "cannot define print",现在明确提示"这是内置函数,请改名"。

UNKNOWN TYPE

unknown type 报得更细

会指出该类型在第几行被声明为 struct/enum/union,以及为何此处不可见(可见性规则)。

SELF PARAM

裸 self 参数

直接提示正确写法(应带 & 或 &mut),而不是只报 "unexpected token"。

HASHMAP

HashMap 实参报错

补上"键恒为 i64、值类型由绑定决定"的说明,不会让开发者一头雾水。

( 04 )

已知限制
有意保留。

Known Limits

这些不是 bug,是 1.2.x 版本范围外的设计取舍。以后版本迭代时处理。

L01

数字字面量

十六进制 0xFF / 二进制 0b1010 / 下划线 1_000_000 未支持。

L02

HashMap 键

只能是 i64,且值类型必须由绑定写明。

L03

AI 计算未接运行时

Tensor 只有零初始化与 matmul,Autograd 与一批内建函数未实现。

L04

名义类型顺序

必须"先声明后使用",且 struct 字段不能引用 enum/union。

L05

arena 溢出

直接终止程序(不可捕获、不可恢复)— 宁可错杀、不静默写坏内存。

L06

Vec 越界

原生 Vec 越界是未定义行为(无边界检查);深度递归约 5 万层以上可能栈溢出。

L07

1.2.0 源码包不同源 — 1.2.1 已加自检防复发

1.2.0 的 Windows 源码包与它自带的 aero.exe 不同源(缺 --pyext / --cpp / aero install)。1.2.1 已加入源码树能力自检,构建时逐能力与源码树对表,漏了就拒绝发布。

( 05 )

项目更新
aero-quant 暂停。

Project Update
⚠

已暂停 aero-quant 的 M4 里程碑工作

我们决定暂停 aero-quant 的 M4 里程碑工作,把精力转回语言核心。 这次 1.2.1 暴露的三个 P0 崩溃级缺陷不是小瑕疵 —— 它们在普通写法下就能触发,说明编译器的指针安全层还不够扎实。 在这个层面修好之前,继续叠 AI 模块只会让基础问题更难定位。

不放弃 aero-quant — 只是延后。等 1.3.x 基础稳定后,重新排期。

LINK

仓库与插件

SOURCE

aero-lang

编译器源码 github.com/SereinCin/aero-lang

DOCS

aero-book

官方文档 github.com/SereinCin/aero-book

VS CODE

Marketplace

扩展 ID: serein.aero-lang

CHECKSUM

SHA256SUMS.txt

发布页校对 — 三平台安装均提供。

404
测试通过 / TESTS
0
失败 / FAILED
1.97
Rust 最低版本 / MIN RUST
22
LLVM / BACKEND

Aero 1.2.1
现已发布。

补丁版 · 3 个 P0 崩溃修复 · CLI / LSP 更可靠 · 源码级兼容 ——
升级零成本,直接替换二进制就行。

CREDITS · 鸣谢
项目首席架构师 / 接班人 — Grint Li
2026 年起接棒 Aero 语言核心,从 1.2.1 起主导编译器、LLVM 后端与工具链演进方向。