nodejs / nodejs/node-addon-api
Adopt C++20 defaulted comparisons (operator== / <=>)
未关闭
还没有人认领这个 Issue。
blocked
SemVer-major
- 主要语言
- C++
- 星标
- 2.4k
- 派生
- 499
- 平均合并
- 2 天 11 小时
- 30 天内合并 PR
- 2
描述
Several node-addon-api types define operator== and operator!= as an explicit pair, where the != is always return !operator==(other);. In C++20 the compiler synthesizes a != b from operator==, so the hand-written != overloads become redundant and can be removed. Where the comparison is plain memberwise equality, operator== itself can be = defaulted.
Regarding <=>, the only plausible type is Maybe<T> where T is ordered.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
定位定义了显式 operator== 和 operator!= 对的 node-addon-api 类型,然后检查 Maybe 是否存在有序比较。完成的标准是移除冗余的 != 重载,并将符合条件的 == 或 <=> 运算符设为 default,同时不改变比较行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- cpp
- 领域
- api
- Issue 类型
- 重构
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100