How important is the `@_dispatchable` decorator in networkx?

Aberta
#14,462 6 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Refatoração
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
python

Direção de pesquisa

Comece rastreando os usos do decorator @_dispatchable em typeshed e comparando-os com as funções sobrecarregadas nos stubs. Investigue a justificativa do espelhamento do runtime e o comportamento de hover relatado do Pylance. Considera-se concluído quando houver uma decisão sobre se o decorator deve permanecer e essa decisão tiver sido documentada ou implementada.

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

Descrição

Can this decorator be removed?

One obvious advantage for having it is to mirror runtime. It has some disadvantages though:

  1. I can't for the life of me find a way to use it on overloaded functions. Indeed looking at the stubs, overloaded functions are stripped of this decorator
  2. VS Code with Pylance does not show the documentation of the function on hover only when the decorator is used

I find the overload case very important that it outweighs the benefits of matching runtime. I also think the editor hover issue compelling on its own but one could argue that this should be discussed with the Pylance team instead.

I wonder if we could just get rid of the decorator altogether. Am I missing other reasons for having the decorator?

Linguagem predominante
Python
Estrelas
5.1k
Forks
2.1k
Merge médio
2d 1h
PRs com merge (30d)
115

Preparar o ambiente

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 python/typeshed

Todas as issues de python/typeshed

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.