结构体设计

当前状态:历史实现探索记录。本文不再代表 Dujie 当前的结构体语言语义。 当前生效的规则应优先参考:类型系统总纲值语义与共享语义表达式与语句

这份旧文档讨论过什么

这份旧方案曾经尝试把 struct 设计成:

  • 语言层面的“引用类型”
  • 拷贝时共享底层数据
  • 后端通过 Arc 包装实现共享语义
  • 同时支持匿名成员、字段共享更新和方法系统

为什么它已经失效

当前语言设计已经明确:

  • Dujie 不再对用户暴露通用“引用类型”分类
  • 普通值默认按值语义理解
  • struct 是名义类型,不是共享引用对象
  • 不支持匿名成员结构体
  • 不支持用户自定义方法系统

因此,这份旧方案中的以下内容都不再应被视为现行规范:

  • struct 的默认共享引用语义
  • 基于 Arc 的语言级解释
  • 匿名成员结构体设计
  • 结构体方法设计

保留本文的原因

保留这份文档只是为了:

  • 追溯历史设计思路
  • 解释为什么当前设计刻意避开“结构体默认共享”
  • 为后端实现探索提供背景材料

当前应看哪里

如果要讨论结构体的当前规则,应查看: