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

When accessing a functools.cached_property through the class, mypy incorrectly treats it as a Callable.

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

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
68/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
python
Domínio
devtools

Direção de pesquisa

Comece executando a reprodução de cached_property da issue com mypy 2.3.0 e rastreie como o acesso de classe a functools.cached_property é inferido. A correção estará completa quando A.value for reconhecido como cached_property em vez de Callable, permitindo o acesso a attrname sem erro; adicione um teste de regressão para este exemplo se o local do teste for identificado.

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

Descrição

bug

Bug Report

When accessing a functools.cached_property through the class, mypy incorrectly treats it as a Callable.

To Reproduce

from functools import cached_property

class A:
    @cached_property
    def value(self) -> int:
        return 1

    @classmethod
    def name(cls) -> str:
        return cls.value.attrname

Expected Behavior

mypy should know that A.value is a cached_property, not a function.

Actual Behavior

error: "Callable[[A], int]" has no attribute "attrname"  [attr-defined]

Environment

  • Mypy version used: 2.3.0
  • Python version used: 3.12
Linguagem predominante
Python
Estrelas
20.6k
Forks
3.3k
Merge médio
1d 3h
PRs com merge (30d)
60

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

Todas as issues de python/mypy

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.