Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Support `Literal` types

Aberta
#274 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
tooling

Direção de pesquisa

Comece rastreando como typeclass, AssociatedType, Supports e @some.instance lidam com tipos delegados e, em seguida, compare esse caminho com o exemplo Literal[1]. Considera-se concluído quando o exemplo passa pela verificação de tipos e some(1) é resolvido corretamente por meio do registro de Literal, preservando o comportamento existente de delegação.

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

Descrição

enhancement

After we have delegate in-place we can use Literal types.

But, now they are not supported.
Ideally, something like this should work:

from classes import typeclass, AssociatedType, Supports
from typing_extensions import Literal

class SomeDelegate(object):
    ...  # TODO: write proper `__instancecheck__`

class A(AssociatedType):
    ...

@typeclass(A)
def some(instance) -> int:
    ...

@some.instance(Literal[1], delegate=SomeDelegate)
def _some_tuple(instance: Literal[1]) -> int:
    return instance

def test(i: Supports[A]):
    return some(i)

some(1)
Linguagem predominante
Python
Estrelas
730
Forks
30
Métricas de merge de PRs
Nenhum PR com merge em 30d

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.

Mais de dry-python/classes

Todas as issues de dry-python/classes

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

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