nodejs / nodejs/node-addon-api

Adopt C++20 defaulted comparisons (operator== / <=>)

Đang mở
#1,748 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

blocked SemVer-major
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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.