FIDL 设计历史

本页提供了在“FIDL”区域浏览 RFC 的起点。它以各种方式整理这些附件,并提供每个清单的更新状态,方便读者快速了解 FIDL 的历史信息和当前发展方向。

以前,这些设计文档称为 FTP 或 FIDL 调整提案。FTP 流程后来又合并为 RFC 流程。由于 FTP 重新编号为 RFC 的方式,因此 RFC 编号并不暗示年表。但是,此页面上每个列表都会按时间顺序显示 RFC:对于从 FTP 转换后的 RFC 而言,系统会按提交日期来显示 RFC,对于所有之后的 RFC,系统会按审核日期来显示。

按主题

本部分按主题整理 FIDL RFC。每个 RFC 会在其主要主题下列出一次,即使涉及多个主题也是如此。

治理

发展性

表现力

语法

工效学设计

性能

安全保障

工具

文档

简化设计空间

按语言功能

本部分列出了以 FIDL 语言轻松查看的新功能的 RFC。它仅包含当前功能,而不包含过时的功能。

功能 RFC 备注
table RFC-0047 向前和向后兼容的数据类型
/// RFC-0055 文档注释
struct Empty {}; RFC-0056 空结构体
error RFC-0060 方法错误结果语法
union RFC-0061 最初称为 xunion,替换了旧的静态联合体
@selector RFC-0020 使用显式选择器替换方法哈希处理
@transitional RFC-0021 用于软转换方法添加/移除的属性
compose RFC-0023 interface 重命名为 protocol,添加了 compose 功能
bits RFC-0025 位标志类型
strictflexible RFC-0033 严格和灵活的类型
标识名权利 RFC-0028 对所需或排除的标识名权利进行注释
service RFC-0041 Service 是协议的集合,
aliastype RFC-0052 已将 using 个别名替换为 aliastype
resource RFC-0057 值和资源类型
匿名布局 RFC-0050 内嵌类型定义,在上下文中命名或使用 @generated_name
@available RFC-0083 版本注释
Method(table { ... }) RFC-0087 使用表和联合作为顶级请求/响应类型
openclosedajar RFC-0138 开放和封闭式互动

当前状态

本部分提供了所有 FIDL RFC 的当前状态。

图例

状态 含义
已取消发布 从未公开或未经过正式审核
已取消 设为公开,但从未正式审核
审核中 已设为公开,待审核
已实施 已接受、已实施,但仍准确
已部分实现 已接受且部分实施,没有完成的计划
实施中 已接受,正在实施
已修正 已接受,仍然基本上准确,但有后续 RFC 进行了修订
已取代 已接受但不再准确,已被后续的 RFC 取代
已拒绝 正式拒绝
RFC 标题 状态
RFC-0018 FTP 流程:一般方案 已被 RFC-0017 取代
RFC-0019 使用“ 已被 RFC-0052 取代
RFC-0022 结构体成员的默认值 已被 RFC-0160 取代
RFC-0051 更安全的 C++ 结构体 已拒绝
RFC-0062 方法不可行 已拒绝
RFC-0053 墓碑 实施时间:
RFC-0066 程序员公告明确默认设置 已实施
RFC-0047 表格 修订者:RFC-0116RFC-0132
RFC-0055 文档注释 修订者:RFC-0043
RFC-0063 OrdinalRange 已遭拒;已被 RFC-0020 取代
以 FIDL 编写的 FIDL 未发布;协议缓冲区可以执行此操作
RFC-0056 空结构体 已实施
RFC-0058 引入已废弃的属性 已被 RFC-0083 取代
RFC-0060 错误处理 已实施
RFC-0061 可扩展联合体 已实施
RFC-0065 没有可选的字符串或矢量 已拒绝
RFC-0064 Box<Knox> 已遭拒;另请参阅“FIDL 大消息支持”
序列 未发布;“信息流”的早期版本
信息流 未发布;另请参阅测量带
RFC-0020 接口序数哈希 已实施
RFC-0021 用于添加和移除方法的软转换 已实施
RFC-0023 协议的组合模型 已实施
RFC-0045 大小为零的空结构体 已拒绝
RFC-0025 位标志 已实施
RFC-0026 信封无处不在 已拒绝
RFC-0027 您只需要按照实际用量付费 已实施
RFC-0030 FIDL 是小端字节序 已实施
RFC-0031 刻字书 已拒绝
RFC-0032 高效信封 已遭拒;已被 RFC-0113 取代
RFC-0033 未知字段和严格程度的处理 修订者:RFC-0137
RFC-0034 Null 终止字符串 已拒绝
RFC-0029 递增方法序数 已被 RFC-0037 取代
RFC-0035 自动流跟踪 已拒绝
RFC-0036 结构体声明更新 已拒绝
RFC-0037 事务性消息标头 v3 已实施
RFC-0038 将布局与约束条件分离 已遭拒;已被 RFC-0050 取代
RFC-0039 类型排在第二位 已遭拒;已被 RFC-0050 取代
RFC-0028 处理权限 已实施
RFC-0042 不可为 null 的类型 已拒绝(愚人节)
RFC-0024 必需的源代码兼容性 已实施
RFC-0040 标识符唯一性 已实施(最初遭拒,后来被接受)
RFC-0041 支持统一服务和设备 部分实现:仅在 C++ 和 Rust 中实现
RFC-0044 可扩展的方法参数 已遭拒;已被 RFC-0087 取代
RFC-0043 文档注释格式 已实施
版本控制 未发布;已被 RFC-0083 取代
必需的表字段 已取消发布
RFC-0048 显式并集序数 已实施
RFC-0049 FIDL 调参过程演变 已被 RFC-0017 取代
可选统一视图 已取消发布
迭代器 未发布;另请参阅测量带
RFC-0054 参数属性 已被 RFC-0050 取代
RFC-0052 类型别名和新类型 正在实施
限制非数字浮点值 已取消发布
常量表达式 已取消发布
RFC-0057 默认无标识名 已实施
RFC-0050 语法改进 修订者:RFC-0086RFC-0087
FIDL 文本格式 已取消发布
RFC-0059 向量、字符串和数组计数字段中的保留位 已实现; LLCPP 不再使用保留位
RFC-0017 FTP 流程现已终止,RFC 流程万岁! 已实施
FIDL 大消息支持 已撤消;已被 RFC-0196 取代
RFC-0076 FIDL API 摘要 已实施
RFC-0083 FIDL 版本控制 正在实施
RFC-0086 RFC-0050:FIDL 属性语法更新 已实施
RFC-0088 RFC-0050 更新:FIDL 位、枚举和约束语法 已拒绝
RFC-0087 RFC-0050 更新:FIDL 方法参数语法 正在实施
RFC-0097 FIDL 工具链 正在实施
RFC-0113 高效信封 已实施
RFC-0114 在 FIDL 信封中内嵌较小的值 已实施
RFC-0116 为稀疏 FIDL 表提供线格式支持 已拒绝
RFC-0120 单独使用 FIDL 有线格式 正在实施
RFC-0131 FIDL 传输格式的设计原则 已实施
RFC-0132 FIDL 表大小限制 已实施
RFC-0137 舍弃 FIDL 中的未知数据 正在实施
RFC-0138 处理未知交互 正在实施
RFC-0149 FIDL 编码验证不是必需的 已实施
RFC-0160 取消了对 FIDL 结构体默认值的支持 已实施
RFC-0190 对系统调用的 FIDL 支持 正在实施
RFC-0196 FIDL 大型消息 正在实施
FIDL 的 JSON 表示法 审核中
FIDL 复杂常量 审核中
FIDL 语言支持计划 审核中
航站楼事件 审核中