nodejs / nodejs/node-addon-api
Adopt C++20 defaulted comparisons (operator== / <=>)
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C++
- Star
- 2.4k
- Fork
- 499
- Merge trung bình
- 2 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 2
Mô tả
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.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Xác định các kiểu của node-addon-api định nghĩa các cặp operator== và operator!= tường minh, sau đó kiểm tra Maybe để tìm các phép so sánh có thứ tự. Hoàn tất có nghĩa là các overload != dư thừa được loại bỏ và các toán tử == hoặc <=> đủ điều kiện được định nghĩa là default mà không thay đổi hành vi so sánh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- api
- Loại issue
- Tái cấu trúc
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 52/100