Annotations for `__eq__`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 30/100
- Tipo de issue
- Documentação
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- documentation
Direção de pesquisa
Comece lendo a especificação de typing e a discussão vinculada em discuss.python.org para entender o tratamento existente de eq. O trabalho estará concluído quando a especificação fornecer orientações acordadas para comparações não sobrepostas, retornos que não sejam booleanos, NotImplemented e erros, permitindo que autores de bibliotecas as apliquem de forma consistente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
It would be useful to have more guidance on how __eq__ methods should be annotated.
A few considerations:
- Enable type checkers to warn on non-overlapping equality comparisons. The type annotations should ideally allow type checkers to look at a check like
A() == B()and verify whether it can ever return True. - Some level of support for
__eq__returning a non-boolean (classic example: numpy arrays) - How to think about
__eq__methods that return NotImplemented on unrecognized types versus those that throw an error
See also https://discuss.python.org/t/make-type-hints-for-eq-of-primitives-less-strict/34240
Covering this in the typing spec is important because it affects how library authors should annotate __eq__ methods in their libraries if they want all type checkers to understand these methods.
- Linguagem predominante
- Python
- Estrelas
- 1.8k
- Forks
- 302
- Merge médio
- 4h 38min
- PRs com merge (30d)
- 6
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de python/typing
-
topic: typing spec
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
topic: typing spec
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Update reference/generics.html with PEP695 type parameter syntaxTalvez já em andamento @BHUVANSH855 assumiu há 181 dias. Abertatopic: documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
topic: documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Finals and Literals: Spec contradictionTalvez já em andamento @srittau assumiu há 35 dias. Abertatopic: conformance tests topic: typing spec
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
Todas as issues de python/typing
Issues semelhantes
-
bug needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
debpalash/VoiceStudio#2624 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
SQLGlot translates Spark concat_ws on an array into array stringificationTalvez já em andamento @ansh-rohilla assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
Make Catch2 optional when `RDK_BUILD_CPP_TESTS=OFF`Talvez já em andamento @pechersky assumiu hoje. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 2 dias