标签
本文讨论了一个基本的内存安全挑战,涉及带标签的联合体,其中指向一个变体的指针在联合体被覆盖为另一个变体后被使用,导致类型混淆。作者还认为,缓冲区溢出是最容易被利用的内存错误,如果采用更好的数组语法本可以缓解。
本文探讨了如何利用Zig的comptime功能创建标记联合子集,受Mitchell Hashimoto工作的启发,并将该技术应用于MyST解析器的AST遍历。
Mitchell Hashimoto 展示了如何利用 Zig 的 comptime 创建标签联合的子集类型,无需穷举处理即可实现编译时安全。