nodejs / nodejs/node-addon-api

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

Offen
#1,748 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

blocked SemVer-major
Vorherrschende Sprache
C++
Sterne
2.4k
Forks
499
Ø Merge
2 T. 11 Std.
Gemergte PRs (30 T.)
2

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Finde die node-addon-api-Typen, die explizite Paare aus operator== und operator!= definieren, und untersuche anschließend Maybe auf geordnete Vergleiche. Als abgeschlossen gilt die Aufgabe, wenn redundante !=-Overloads entfernt und geeignete ==- oder <=>-Operatoren als default definiert wurden, ohne das Vergleichsverhalten zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
api
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.