Well, mypy is often used primarily as a linter on steroids.

Anyway, agreed with your point!

On Tue, Jan 21, 2020 at 10:22 AM Andrew Barnert <abarn...@yahoo.com> wrote:

> On Jan 19, 2020, at 20:54, Guido van Rossum <gu...@python.org> wrote:
> >
> > Actually, `bar = foo` is more likely to be detected by mypy, since it is
> probably a type error (unless bar isn't used or is only used in an `Any`
> context). For mypy, flagging bare `foo` is harder, because we would have to
> introduce a fairly arbitrary rule that says "a top-level expression cannot
> have a callable type". So we haven't done this yet.
>
> Yeah, that’s a rule that makes sense for linters, but not for compilers,
> because it obviously can have false positives, it’s just that useful false
> positives are incredibly rare compared to mistakes.
>
> When I said linters and static analyzers I meant linters and linter-like
> static analyzers like clang-analyze, not linters and compiler/prover-like
> static analyzers like mypy. I can see why that was misleading, because
> Python has none of the former and a very prominent one of the latter; sorry
> for being confusing.
>
> Anyway, the point I intended to make is that it is a real cost that
> catching bare `foo` where `foo()` was meant can only be done by a linter,
> but it’s nowhere near as big as the benefit of being able to pass functions
> and methods around the most obvious way.
>


-- 
--Guido van Rossum (python.org/~guido)
*Pronouns: he/him **(why is my pronoun here?)*
<http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/N3LXIPGVAW4N5ULA7GS4JSYGQBMNBJ7R/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to