Cavvy 5.1.0 已知问题与限制
本文档记录 Cavvy 5.1.0 版本中已知的半成品实现限制和平台支持状态。
半成品实现限制
以下功能在 5.1.0 中已提前实现,但属于 5.2 版本的规划特性,因此存在已知限制。
1. 泛型类型系统
状态: 提前实现(原定 5.2),基础功能可用,复杂场景有限制。
已知限制:
- 泛型接口尚未支持
- 泛型约束(where 子句)未实现
- 嵌套泛型类型推断在某些场景下可能需要显式注解
- 泛型静态方法存在限制
建议:
- 使用显式类型注解避免推断歧义
- 避免过度嵌套的泛型类型
- 将复杂泛型表达式拆分为多个步骤
相关测试: test_generics_basic.cay, test_generics_method_param.cay
2. 接口动态分发
状态: 已实现运行时动态分发,部分高级场景受限。
已知限制:
- 泛型接口方法不支持动态分发
- 嵌套接口调用链的优化尚未完成
- 接口作为泛型类型参数存在限制
建议:
- 接口继承层级保持简单
- 避免在接口方法签名中使用泛型参数
相关测试: test_vtable_dynamic_dispatch.cay, test_vtable_simple.cay
平台支持状态
macOS
状态: 实验性支持
说明: macOS 平台的部分功能可能不可用或未经充分测试。主要限制包括:
- 运行时库构建可能不完整
- 部分系统调用封装未针对 macOS 适配
- 链接器参数使用 Linux 风格而非 macOS 风格
建议:
- 优先在 Windows 或 Linux 上进行开发和部署
- macOS 用户请关注后续版本更新
已修复的历史问题
5.1.0 版本中以下问题已完全修复,不再存在:
- 指针类型系统完整支持
- 访问控制(public/protected/private/static)
- 跨平台网络库(Windows / Linux)
- 错误报告中的文件名和行号映射
- 预处理器 #define 行尾注释处理
- Linux 动态链接器自动检测
- 标准库 File.cay 和 Network.cay 的稳定性问题
报告新问题
如果在使用 5.1.0 时遇到本文档未记录的问题,请通过以下方式报告:
- 确认问题可复现
- 提供最小复现示例
- 说明运行环境(OS、LLVM 版本、Rust 版本)
- 提交到项目 Issue 跟踪系统