# 结构体设计

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

## 这份旧文档讨论过什么

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

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

## 为什么它已经失效

当前语言设计已经明确：

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

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

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

## 保留本文的原因

保留这份文档只是为了：

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

## 当前应看哪里

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

- `struct` 的用户规则：见 [表达式与语句](./13.expressions-and-statements)
- 值语义与共享边界：见 [值语义与共享语义](./11.value-and-sharing-semantics)
- 泛型结构体：见 [泛型系统](./10.generics-system)
