Skip to content

Comments

try fix for non ABC base class, abstract method with NotImplementedError be infer as Never then in an inconsistent manner #2456#2489

Open
asukaminato0721 wants to merge 2 commits intofacebook:mainfrom
asukaminato0721:2456
Open

try fix for non ABC base class, abstract method with NotImplementedError be infer as Never then in an inconsistent manner #2456#2489
asukaminato0721 wants to merge 2 commits intofacebook:mainfrom
asukaminato0721:2456

Conversation

@asukaminato0721
Copy link
Contributor

Summary

Fixes #2456

Treat trivial raise NotImplementedError() bodies as abstract when either @abstractmethod is present or the class extends ABC, so inference returns Any instead of Never.

Test Plan

Added a regression test for non-ABC classes using @abstractmethod with NotImplementedError.

@meta-cla meta-cla bot added the cla signed label Feb 22, 2026
@github-actions

This comment has been minimized.

@asukaminato0721 asukaminato0721 marked this pull request as ready for review February 22, 2026 23:13
Copilot AI review requested due to automatic review settings February 22, 2026 23:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request fixes issue #2456 where abstract methods decorated with @abstractmethod in non-ABC base classes were incorrectly inferred as returning Never instead of Any, causing spurious type errors in subclasses that override these methods.

Changes:

  • Extended abstract method detection to recognize @abstractmethod decorator in addition to ABC inheritance
  • Added is_abstract_method field tracking through the binding pipeline to solve.rs
  • Added regression test for non-ABC classes using @abstractmethod with NotImplementedError

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
pyrefly/lib/test/abstract_methods.rs Added test case test_abstract_method_non_abc to verify the fix for non-ABC classes with @abstractmethod decorator
pyrefly/lib/binding/function.rs Added is_abstract_method parameter to analyze_return_type() and threaded it through all call sites
pyrefly/lib/binding/binding.rs Added is_abstract_method field to ReturnTypeKind::ShouldInferType enum variant with documentation
pyrefly/lib/alt/solve.rs Updated return type inference logic to check both @abstractmethod decorator and ABC inheritance when determining if a method should return Any instead of Never

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 3152 to +3155
let is_abstract_method = *body_is_trivial
&& return_ty.is_never()
&& class_metadata_key.is_some_and(|key| self.get_idx(key).extends_abc());
&& (*is_abstract_method
|| class_metadata_key.is_some_and(|key| self.get_idx(key).extends_abc()));
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Variable shadowing: the local variable is_abstract_method shadows the parameter of the same name from the pattern match on line 3131. This makes the code confusing and error-prone. Consider renaming the local variable to something like should_treat_as_abstract or is_abstract_with_trivial_body to clearly distinguish it from the decorator flag.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

Diff from mypy_primer, showing the effect of this PR on open source code:

psycopg (https://github.com/psycopg/psycopg)
- ERROR tests/test_psycopg_dbapi20.py:29:9-27: Class member `PsycopgTests.test_setoutputsize` overrides parent class `DatabaseAPI20Test` in an inconsistent manner [bad-override]

tornado (https://github.com/tornadoweb/tornado)
- ERROR tornado/httpclient.py:182:9-26: Class member `AsyncHTTPClient.configurable_base` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/httpclient.py:186:9-29: Class member `AsyncHTTPClient.configurable_default` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/httpserver.py:209:9-26: Class member `HTTPServer.configurable_base` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/httpserver.py:213:9-29: Class member `HTTPServer.configurable_default` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/ioloop.py:352:9-26: Class member `IOLoop.configurable_base` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/ioloop.py:356:9-29: Class member `IOLoop.configurable_default` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/netutil.py:349:9-26: Class member `Resolver.configurable_base` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/netutil.py:353:9-29: Class member `Resolver.configurable_default` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:921:9-30: Class member `TestIOStreamWebHTTP._make_client_iostream` overrides parent class `TestIOStreamWebMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:929:9-30: Class member `TestIOStreamWebHTTPS._make_client_iostream` overrides parent class `TestIOStreamWebMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:937:9-30: Class member `TestIOStream._make_server_iostream` overrides parent class `TestIOStreamMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:940:9-30: Class member `TestIOStream._make_client_iostream` overrides parent class `TestIOStreamMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:945:9-30: Class member `TestIOStreamSSL._make_server_iostream` overrides parent class `TestIOStreamMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:954:9-30: Class member `TestIOStreamSSL._make_client_iostream` overrides parent class `TestIOStreamMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:964:9-30: Class member `TestIOStreamSSLContext._make_server_iostream` overrides parent class `TestIOStreamMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/iostream_test.py:975:9-30: Class member `TestIOStreamSSLContext._make_client_iostream` overrides parent class `TestIOStreamMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/simple_httpclient_test.py:572:9-22: Class member `SimpleHTTPClientTestCase.create_client` overrides parent class `SimpleHTTPClientTestMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/simple_httpclient_test.py:584:9-22: Class member `SimpleHTTPSClientTestCase.create_client` overrides parent class `SimpleHTTPClientTestMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/util_test.py:45:9-26: Class member `TestConfigurable.configurable_base` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/test/util_test.py:49:9-29: Class member `TestConfigurable.configurable_default` overrides parent class `Configurable` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:91:9-21: Class member `SimpleHandlerTestCase.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:226:9-21: Class member `FinalReturnTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:273:9-21: Class member `CookieTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:446:9-21: Class member `AuthRedirectTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:487:9-21: Class member `ConnectionCloseTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:538:9-21: Class member `RequestEncodingTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:785:9-21: Class member `WSGISafeWebTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1027:9-21: Class member `NonWSGIWebTests.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1036:9-21: Class member `ErrorResponseTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1110:9-21: Class member `StaticFileTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1492:9-21: Class member `StaticDefaultFilenameTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1514:9-21: Class member `StaticDefaultFilenameRootTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1550:9-21: Class member `StaticFileWithPathTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1559:9-21: Class member `CustomStaticFileTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1633:9-21: Class member `HostMatchingTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1668:9-21: Class member `DefaultHostMatchingTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1702:9-21: Class member `NamedURLSpecGroupsTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1846:9-21: Class member `ErrorHandlerXSRFTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:1931:9-21: Class member `PathArgsInPrepareTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2142:9-21: Class member `GetCurrentUserTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2292:9-21: Class member `Default404Test.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2307:9-21: Class member `Custom404Test.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2325:9-21: Class member `DefaultHandlerArgumentsTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2340:9-21: Class member `HandlerByNameTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2358:9-21: Class member `StreamingRequestBodyTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2567:9-21: Class member `DecoratedStreamingRequestFlowControlTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:2580:9-21: Class member `NativeStreamingRequestFlowControlTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:3155:9-21: Class member `DecoratorTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:3188:9-21: Class member `CacheTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:3314:9-21: Class member `RedirectHandlerTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/web_test.py:3345:9-21: Class member `AcceptLanguageTest.get_handlers` overrides parent class `WebTestCase` in an inconsistent manner [bad-override]
- ERROR tornado/test/wsgi_test.py:64:9-21: Class member `WSGIContainerDummyExecutorTest.get_executor` overrides parent class `WSGIAppMixin` in an inconsistent manner [bad-override]
- ERROR tornado/test/wsgi_test.py:93:9-21: Class member `WSGIContainerThreadPoolTest.get_executor` overrides parent class `WSGIAppMixin` in an inconsistent manner [bad-override]
- ERROR tornado/util.py:306:29-33: `type[Self@Configurable] | None` is not assignable to attribute `__impl_class` with type `Never` [bad-assignment]
- ERROR tornado/util.py:307:30-36: `dict[str, Unknown]` is not assignable to attribute `__impl_kwargs` with type `Never` [bad-assignment]

alerta (https://github.com/alerta/alerta)
- ERROR alerta/database/backends/mongodb/base.py:22:9-22: Class member `Backend.create_engine` overrides parent class `Database` in an inconsistent manner [bad-override]
- ERROR alerta/database/backends/mongodb/base.py:100:9-14: Class member `Backend.close` overrides parent class `Database` in an inconsistent manner [bad-override]
- ERROR alerta/database/backends/mongodb/base.py:103:9-16: Class member `Backend.destroy` overrides parent class `Database` in an inconsistent manner [bad-override]
- ERROR alerta/database/backends/postgres/base.py:65:9-22: Class member `Backend.create_engine` overrides parent class `Database` in an inconsistent manner [bad-override]
- ERROR alerta/database/backends/postgres/base.py:93:9-16: Class member `Backend.connect` overrides parent class `Database` in an inconsistent manner [bad-override]
- ERROR alerta/database/backends/postgres/base.py:145:9-14: Class member `Backend.close` overrides parent class `Database` in an inconsistent manner [bad-override]
- ERROR alerta/database/backends/postgres/base.py:148:9-16: Class member `Backend.destroy` overrides parent class `Database` in an inconsistent manner [bad-override]

apprise (https://github.com/caronc/apprise)
- ERROR apprise/attachment/file.py:85:9-17: Class member `AttachFile.download` overrides parent class `AttachBase` in an inconsistent manner [bad-override]
- ERROR apprise/attachment/http.py:95:9-17: Class member `AttachHTTP.download` overrides parent class `AttachBase` in an inconsistent manner [bad-override]
- ERROR apprise/attachment/memory.py:125:9-17: Class member `AttachMemory.download` overrides parent class `AttachBase` in an inconsistent manner [bad-override]

asynq (https://github.com/quora/asynq)
- ERROR asynq/batching.py:254:9-33: Class member `DebugBatch._try_switch_active_batch` overrides parent class `BatchBase` in an inconsistent manner [bad-override]
- ERROR asynq/batching.py:260:9-15: Class member `DebugBatch._flush` overrides parent class `BatchBase` in an inconsistent manner [bad-override]
- ERROR asynq/futures.py:197:9-17: Class member `Future._compute` overrides parent class `FutureBase` in an inconsistent manner [bad-override]
- ERROR asynq/tests/caching.py:71:9-12: Class member `LocalCache.set` overrides parent class `CacheBase` in an inconsistent manner [bad-override]
- ERROR asynq/tests/caching.py:137:9-12: Class member `ExternalCacheBase.get` overrides parent class `CacheBase` in an inconsistent manner [bad-override]
- ERROR asynq/tests/caching.py:144:9-12: Class member `ExternalCacheBase.set` overrides parent class `CacheBase` in an inconsistent manner [bad-override]
- ERROR asynq/tests/debug_cache.py:29:9-15: Class member `DebugExternalCache._flush` overrides parent class `ExternalCacheBase` in an inconsistent manner [bad-override]

dd-trace-py (https://github.com/DataDog/dd-trace-py)
- ERROR ddtrace/vendor/jsonpath_ng/jsonpath.py:208:9-15: Class member `Root.filter` overrides parent class `JSONPath` in an inconsistent manner [bad-override]
- ERROR ddtrace/vendor/jsonpath_ng/jsonpath.py:235:9-15: Class member `This.filter` overrides parent class `JSONPath` in an inconsistent manner [bad-override]
- ERROR ddtrace/vendor/jsonpath_ng/jsonpath.py:350:9-13: Class member `Where.find` overrides parent class `JSONPath` in an inconsistent manner [bad-override]
- ERROR tests/contrib/django/soap/models.py:37:9-15: Class member `LeaveStatusModel.fields` overrides parent class `OrderedModel` in an inconsistent manner [bad-override]
- ERROR tests/contrib/django/soap/models.py:43:9-20: Class member `LeaveStatusModel.model_names` overrides parent class `OrderedModel` in an inconsistent manner [bad-override]
- ERROR tests/tracer/test_encoders.py:140:9-18: Class member `RefMsgpackEncoderV05.normalize` overrides parent class `RefMsgpackEncoder` in an inconsistent manner [bad-override]

cloud-init (https://github.com/canonical/cloud-init)
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:41:9-16: Class member `Nic.primary` overrides parent class `NicBase` in an inconsistent manner [bad-override]
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:50:9-15: Class member `Nic.onboot` overrides parent class `NicBase` in an inconsistent manner [bad-override]
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:59:9-18: Class member `Nic.bootProto` overrides parent class `NicBase` in an inconsistent manner [bad-override]
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:67:9-18: Class member `Nic.ipv4_mode` overrides parent class `NicBase` in an inconsistent manner [bad-override]
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:75:9-19: Class member `Nic.staticIpv4` overrides parent class `NicBase` in an inconsistent manner [bad-override]
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:86:9-19: Class member `Nic.staticIpv6` overrides parent class `NicBase` in an inconsistent manner [bad-override]
- ERROR cloudinit/sources/helpers/vmware/imc/nic.py:114:9-17: Class member `StaticIpv4Addr.gateways` overrides parent class `StaticIpv4Base` in an inconsistent manner [bad-override]

paasta (https://github.com/yelp/paasta)
- ERROR paasta_tools/cli/cmds/logs.py:708:9-18: Class member `ScribeLogReader.tail_logs` overrides parent class `LogReader` in an inconsistent manner [bad-override]
- ERROR paasta_tools/cli/cmds/logs.py:855:9-27: Class member `ScribeLogReader.print_logs_by_time` overrides parent class `LogReader` in an inconsistent manner [bad-override]
- ERROR paasta_tools/cli/cmds/logs.py:913:9-26: Class member `ScribeLogReader.print_last_n_logs` overrides parent class `LogReader` in an inconsistent manner [bad-override]
- ERROR paasta_tools/cli/cmds/logs.py:1214:9-27: Class member `VectorLogsReader.print_logs_by_time` overrides parent class `LogReader` in an inconsistent manner [bad-override]
- ERROR paasta_tools/cli/cmds/logs.py:1265:9-18: Class member `VectorLogsReader.tail_logs` overrides parent class `LogReader` in an inconsistent manner [bad-override]

mitmproxy (https://github.com/mitmproxy/mitmproxy)
- ERROR mitmproxy/tools/console/grideditor/col_bytes.py:32:9-17: Class member `Display.get_data` overrides parent class `Cell` in an inconsistent manner [bad-override]
- ERROR mitmproxy/tools/console/grideditor/col_bytes.py:43:9-17: Class member `Edit.get_data` overrides parent class `Cell` in an inconsistent manner [bad-override]
- ERROR mitmproxy/tools/console/grideditor/col_subgrid.py:39:9-17: Class member `Display.get_data` overrides parent class `Cell` in an inconsistent manner [bad-override]

parso (https://github.com/davidhalter/parso)
- ERROR parso/python/errors.py:541:9-17: Class member `_InvalidSyntaxRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:714:9-17: Class member `_BytesAndStringMix.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:727:9-17: Class member `_TrailingImportComma.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:736:9-17: Class member `_ImportStarInFunction.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:744:9-17: Class member `_FutureImportRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:768:9-17: Class member `_StarExprRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:803:9-17: Class member `_StarExprParentRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:842:9-17: Class member `_AnnotatorRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:872:9-17: Class member `_ArgumentRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:900:9-17: Class member `_NonlocalModuleLevelRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:913:9-17: Class member `_ArglistRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:964:9-17: Class member `_ParameterRule.is_issue` overrides parent class `SyntaxRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:1186:9-17: Class member `_CompForRule.is_issue` overrides parent class `_CheckAssignmentRule` in an inconsistent manner [bad-override]
- ERROR parso/python/errors.py:1200:9-17: Class member `_ExprStmtRule.is_issue` overrides parent class `_CheckAssignmentRule` in an inconsistent manner [bad-override]
- ERROR parso/python/tree.py:833:9-26: Class member `ImportFrom.get_defined_names` overrides parent class `Import` in an inconsistent manner [bad-override]
- ERROR parso/python/tree.py:904:9-26: Class member `ImportName.get_defined_names` overrides parent class `Import` in an inconsistent manner [bad-override]

aioredis (https://github.com/aio-libs/aioredis)
- ERROR aioredis/connection.py:373:9-19: Class member `PythonParser.on_connect` overrides parent class `BaseParser` in an inconsistent manner [bad-override]
- ERROR aioredis/connection.py:384:9-22: Class member `PythonParser.on_disconnect` overrides parent class `BaseParser` in an inconsistent manner [bad-override]
- ERROR aioredis/connection.py:458:9-19: Class member `HiredisParser.on_connect` overrides parent class `BaseParser` in an inconsistent manner [bad-override]
- ERROR aioredis/connection.py:472:9-22: Class member `HiredisParser.on_disconnect` overrides parent class `BaseParser` in an inconsistent manner [bad-override]

pip (https://github.com/pypa/pip)
- ERROR src/pip/_vendor/pygments/filter.py:68:9-15: Class member `FunctionFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:86:9-15: Class member `CodeTagFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:679:9-15: Class member `SymbolFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:707:9-15: Class member `KeywordCaseFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:748:9-15: Class member `NameHighlightFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:782:9-15: Class member `RaiseOnErrorTokenFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:836:9-15: Class member `VisibleWhitespaceFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:892:9-15: Class member `GobbleFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]
- ERROR src/pip/_vendor/pygments/filters/__init__.py:916:9-15: Class member `TokenMergeFilter.filter` overrides parent class `Filter` in an inconsistent manner [bad-override]

python-htmlgen (https://github.com/srittau/python-htmlgen)
- ERROR htmlgen/element.py:236:9-17: Class member `NonVoidElement.generate` overrides parent class `ElementBase` in an inconsistent manner [bad-override]
- ERROR htmlgen/element.py:318:9-26: Class member `Element.generate_children` overrides parent class `NonVoidElement` in an inconsistent manner [bad-override]
- ERROR htmlgen/element.py:340:9-17: Class member `VoidElement.generate` overrides parent class `ElementBase` in an inconsistent manner [bad-override]
- ERROR htmlgen/generator.py:71:9-17: Class member `NullGenerator.generate` overrides parent class `Generator` in an inconsistent manner [bad-override]
- ERROR htmlgen/generator.py:89:9-17: Class member `IteratorGenerator.generate` overrides parent class `Generator` in an inconsistent manner [bad-override]
- ERROR htmlgen/generator.py:152:9-17: Class member `ChildGenerator.generate` overrides parent class `Generator` in an inconsistent manner [bad-override]
- ERROR htmlgen/generator.py:285:9-17: Class member `HTMLChildGenerator.generate` overrides parent class `Generator` in an inconsistent manner [bad-override]

sockeye (https://github.com/awslabs/sockeye)
- ERROR sockeye/decoder.py:177:9-27: Class member `TransformerDecoder.set_inference_only` overrides parent class `Decoder` in an inconsistent manner [bad-override]
- ERROR sockeye/decoder.py:321:9-23: Class member `TransformerDecoder.get_num_hidden` overrides parent class `Decoder` in an inconsistent manner [bad-override]

pywin32 (https://github.com/mhammond/pywin32)
- ERROR Pythonwin/pywin/Demos/openGLDemo.py:240:9-13: Class member `TestView.Init` overrides parent class `OpenGLView` in an inconsistent manner [bad-override]
- ERROR Pythonwin/pywin/Demos/openGLDemo.py:243:9-18: Class member `TestView.DrawScene` overrides parent class `OpenGLView` in an inconsistent manner [bad-override]
- ERROR Pythonwin/pywin/Demos/openGLDemo.py:307:9-13: Class member `CubeView.Init` overrides parent class `OpenGLView` in an inconsistent manner [bad-override]
- ERROR Pythonwin/pywin/Demos/openGLDemo.py:320:9-18: Class member `CubeView.DrawScene` overrides parent class `OpenGLView` in an inconsistent manner [bad-override]
- ERROR Pythonwin/pywin/framework/editor/editor.py:488:9-27: Class member `EditorTemplate._CreateDocTemplate` overrides parent class `EditorTemplateBase` in an inconsistent manner [bad-override]
- ERROR com/win32comext/axdebug/codecontainer.py:239:9-16: Class member `SourceModuleContainer.GetName` overrides parent class `SourceCodeContainer` in an inconsistent manner [bad-override]
- ERROR isapi/samples/redirector.py:55:9-17: Class member `Extension.Dispatch` overrides parent class `ThreadPoolExtension` in an inconsistent manner [bad-override]
- ERROR isapi/samples/redirector_asynch.py:43:9-17: Class member `Extension.Dispatch` overrides parent class `ThreadPoolExtension` in an inconsistent manner [bad-override]
- ERROR isapi/samples/redirector_with_filter.py:63:9-17: Class member `Extension.Dispatch` overrides parent class `ThreadPoolExtension` in an inconsistent manner [bad-override]
- ERROR isapi/samples/redirector_with_filter.py:90:9-23: Class member `Filter.HttpFilterProc` overrides parent class `SimpleFilter` in an inconsistent manner [bad-override]
- ERROR isapi/test/extension_simple.py:28:9-17: Class member `Extension.Dispatch` overrides parent class `ThreadPoolExtension` in an inconsistent manner [bad-override]
- ERROR isapi/threaded_extension.py:92:9-26: Class member `ThreadPoolExtension.HttpExtensionProc` overrides parent class `SimpleExtension` in an inconsistent manner [bad-override]

pycryptodome (https://github.com/Legrandin/pycryptodome)
- ERROR lib/Crypto/SelfTest/Math/test_Numbers.py:743:9-14: Class member `TestIntegerInt.setUp` overrides parent class `TestIntegerBase` in an inconsistent manner [bad-override]
- ERROR lib/Crypto/SelfTest/Math/test_Numbers.py:812:17-22: Class member `TestIntegerGMP.setUp` overrides parent class `TestIntegerBase` in an inconsistent manner [bad-override]
- ERROR lib/Crypto/SelfTest/Math/test_Numbers.py:826:17-22: Class member `TestIntegerCustomModexp.setUp` overrides parent class `TestIntegerBase` in an inconsistent manner [bad-override]
- ERROR lib/Crypto/Signature/DSS.py:241:9-20: Class member `DeterministicDsaSigScheme._valid_hash` overrides parent class `DssSigScheme` in an inconsistent manner [bad-override]
- ERROR lib/Crypto/Signature/DSS.py:290:9-20: Class member `FipsEcDsaSigScheme._valid_hash` overrides parent class `DssSigScheme` in an inconsistent manner [bad-override]

pwndbg (https://github.com/pwndbg/pwndbg)
- ERROR pwndbg/aglib/heap/ptmalloc.py:1725:9-23: Class member `DebugSymsHeap.is_initialized` overrides parent class `GlibcMemoryAllocator` in an inconsistent manner [bad-override]
- ERROR pwndbg/aglib/heap/ptmalloc.py:2279:9-23: Class member `HeuristicHeap.is_initialized` overrides parent class `GlibcMemoryAllocator` in an inconsistent manner [bad-override]
- ERROR pwndbg/dbg_mod/gdb/__init__.py:1121:9-18: Class member `GDBProcess.trace_ret` overrides parent class `Process` in an inconsistent manner [bad-override]
- ERROR pwndbg/dbg_mod/gdb/__init__.py:1212:9-38: Class member `GDBProcess.dispatch_execution_controller` overrides parent class `Process` in an inconsistent manner [bad-override]
- ERROR pwndbg/dbg_mod/lldb/__init__.py:1938:9-18: Class member `LLDBProcess.trace_ret` overrides parent class `Process` in an inconsistent manner [bad-override]
- ERROR pwndbg/dbg_mod/lldb/__init__.py:2043:9-38: Class member `LLDBProcess.dispatch_execution_controller` overrides parent class `Process` in an inconsistent manner [bad-override]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

for non ABC base class, abstract method with NotImplementedError be infer as Never then in an inconsistent manner

1 participant