Buggy or strange behaviour matching mutable data with `re`
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 77.2k
- Fork
- 35.9k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
Bug report
Bug description:
import re
data = bytearray(b'1')
match = re.match(b'1', data)
print(match[0]) # b'1'
data[:] = b'2'
print(match[0]) # b'2'
If you match against mutable data (e.g., a bytearray) and change that data after matching, the matched values reported by the match change.
Is this a) a bug or b) strange behavior that should be pointed out in the docs (or c) none of the above)?
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Guida per i contributori
Apri la guida per i contributori
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.
Direzione di ricerca
Inizia eseguendo il reproducer fornito per Python 3.13 con un bytearray mutabile e ispeziona i valori delle corrispondenze risultanti dopo la mutazione. Leggi il comportamento rilevante di re e la copertura esistente per determinare se si tratta di un bug di implementazione o di un comportamento documentato. Il lavoro è completato quando il comportamento ha una risoluzione chiara, con un’adeguata copertura di regressione o documentazione, a seconda dei casi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100