Add ASCII-insensitive string equality
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
Direzione di ricerca
La funzione eq_ignore_ascii_case dovrebbe essere aggiunta a std/string/cmp.wave. Inizia esaminando le funzioni di supporto ASCII esistenti in quel file. Implementa il confronto iterando sui byte, convertendo ASCII A-Z in minuscolo e confrontando. Scrivi test per stringhe vuote, lunghezze diverse, maiuscole/minuscole miste, punteggiatura e byte non ASCII. Esegui i test ai livelli di ottimizzazione O0 e O2 per assicurarti che non ci siano regressioni.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Motivation
std/string/cmp.wave only provides case-sensitive equality. General callers must implement ASCII folding themselves, while std/net/resolve_table.wave already has a private comparison loop for this purpose.
Scope
Add eq_ignore_ascii_case(a: str, b: str) -> bool to std::string::cmp. Fold ASCII A–Z, compare other bytes exactly, and stop at the NUL terminator. Reuse existing ASCII helpers where practical.
Keep eq unchanged. Unicode folding and locale-sensitive comparison are outside this task. Reusing the helper in the resolver is optional and must preserve service-name case sensitivity and the explicit resolution policy in #567.
Completion criteria
- Compare strings without allocation or input mutation.
- Cover empty strings, unequal lengths, mixed ASCII case, punctuation, and distinct non-ASCII bytes.
- Run focused regressions at O0/O2.
Difficulty: easy.
- Lingua principale
- Rust
- Stelle
- 56
- Fork
- 21
- Merge medio
- 4h 11m
- PR unite (30g)
- 48
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wavefnd/Wave
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue needs testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
documentation enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di wavefnd/Wave
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yologdev/yoyo-evolve#1053 ·
-
bug lompi security sev-9
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
area:config area:security bug good first issue platform:linux platform:windows priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rtk-ai/rtk#4651 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
niravpatidar37/mcpsum#80 ·
I maintainer di solito rispondono entro 1 giorno