python / python/cpython

Merge 'types.UnionType' with `typing._UnionGenericAlias`, not `typing.Union`

Aberta
#137,065 21 comentários 2 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

3.14 3.15 topic-typing type-bug
Linguagem predominante
Python
Estrelas
77.2k
Forks
36k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

Bug report

I think #105499 was a mistake. types.UnionType was intentionally named so to avoid confusion with typing.Union (see #88895). types.UnionType should not be subscriptable because it is not generic type (and if it was a generic type, subscription would have different semantic than for typing.Union). types.UnionType corresponds to typing._UnionGenericAlias, not typing.Union (see https://github.com/python/cpython/issues/89581#issuecomment-1093932536).

So we should restore typing.Union, make typing._UnionGenericAlias an alias of types.UnionType, and make types.UnionType non-subscriptable again.

Linked PRs
  • gh-137069
  • gh-138967

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece lendo as referências da issue a #105499, #88895 e #89581; em seguida, inspecione o trabalho vinculado em gh-137069 e gh-138967. Rastreie a relação entre types.UnionType, typing.Union e typing._UnionGenericAlias; considera-se concluído quando o aliasing pretendido e o comportamento não subscritível forem restaurados e os testes relevantes passarem.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
backend
Tipo de issue
Bug
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.