nodejs / nodejs/node-addon-api

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

Ouverte
#1,748 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

blocked SemVer-major
Langage dominant
C++
Étoiles
2.4k
Forks
499
Merge moyen
2 j 11 h
PR mergées (30 j)
2

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Repérez les types de node-addon-api qui définissent des paires explicites operator== et operator!=, puis examinez Maybe pour les comparaisons ordonnées. Le travail est terminé lorsque les surcharges != redondantes sont supprimées et que les opérateurs == ou <=> éligibles sont définis comme default, sans modifier le comportement des comparaisons.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
api
Type d'issue
Refactorisation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.