Comments (3)
From my understanding, this behavior is a feature and not a bug. It is hard-coded and tested to ensure that protocol members cannot be marked as Final. Therefore, the expected behavior is correctly reported by mypy. Although this functionality can be restrictive in some use cases and maybe is worth considering a change. Should I try to make this modification?
from mypy.
This is a bug because var
here is just a variable in the local function scope, not a protocol member. A protocol member would look like self.var
inside the body of an instance method, or just var
directly in the class body (not inside a method).
from mypy.
Thank you for the clarification
from mypy.
Related Issues (20)
- Crash with functools.partial and Unpack
- "Name already defined" for PySide6 Property HOT 1
- Plugin development: Use of `get_dynamic_class_hook` causes deserialization of types to fail from `.mypy_cache` HOT 2
- functools.partial incorrectly handles generic function arguments
- (🐞) no error when can't able to infer type argument and becomes `Never`
- (🐞) `isinstance` doesn't work with unions containing `None` HOT 1
- Prime number sieve with generators example does not pass mypy HOT 2
- Plugin generated methods are reported with `explicit-override` error enabled
- False Negative when Enforcing Positional Arguments in regards to Protocols
- Infer type of `attrs.fields(type(attrs_instance))` HOT 1
- 1.10.1: pytest fails in
- Union can cause Iterator to require a return statement
- Metaclass defined class attribute raise "name-defined" error when used as a type
- Staticmethod's generated by closures are not recognized as being static
- Redefinition of function arguments can give unclear error message
- The implementation of TypeChecker.fail is incorrect
- mypy is unusable when using incomplete stubs on local source
- False positive on return type HOT 2
- Can JSON format output and command line parameter options for -- disable-error-code all be supported?
- [stubgen] infer_sig_from_docstring fails with python3.12 inline generic HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mypy.