Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 时遇到本文档未记录的问题,请通过以下方式报告:

  1. 确认问题可复现
  2. 提供最小复现示例
  3. 说明运行环境(OS、LLVM 版本、Rust 版本)
  4. 提交到项目 Issue 跟踪系统