Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add new reportImplicitAbstractClass diagnostic rule #774

Merged
merged 2 commits into from
Oct 15, 2024

Conversation

DetachHead
Copy link
Owner

@DetachHead DetachHead commented Oct 14, 2024

fixes #109

  • add this rule to the playground

@DetachHead DetachHead force-pushed the classImplicitlyAbstract branch 3 times, most recently from 9037dee to 719ea64 Compare October 14, 2024 14:06
@DetachHead DetachHead force-pushed the classImplicitlyAbstract branch from 719ea64 to aa65ecb Compare October 14, 2024 14:18

This comment has been minimized.

@DetachHead DetachHead force-pushed the classImplicitlyAbstract branch from ea70e68 to 70f12e9 Compare October 15, 2024 09:59
Copy link
Contributor

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

paasta (https://github.com/yelp/paasta)
+   /tmp/mypy_primer/projects/paasta/paasta_tools/smartstack_tools.py:480:7 - error: Class "BaseReplicationChecker" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "BaseReplicationChecker.get_allowed_locations_and_hosts" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/paasta/paasta_tools/metrics/metrics_lib.py:166:7 - error: Class "Counter" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "GaugeProtocol.set" is not implemented (reportImplicitAbstractClass)
- 24365 errors, 0 warnings, 0 notes
+ 24367 errors, 0 warnings, 0 notes

psycopg (https://github.com/psycopg/psycopg)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/adapt.py:140:7 - error: Class "RecursiveDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/adapt.py:148:7 - error: Class "RecursiveLoader" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Loader.load" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/array.py:38:7 - error: Class "BaseListDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/composite.py:86:7 - error: Class "SequenceDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/composite.py:162:7 - error: Class "BaseCompositeLoader" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Loader.load" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/datetime.py:60:7 - error: Class "_BaseTimeDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/datetime.py:133:7 - error: Class "_BaseDatetimeDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/multirange.py:184:7 - error: Class "BaseMultirangeDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/multirange.py:294:7 - error: Class "BaseMultirangeLoader" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Loader.load" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/net.py:68:7 - error: Class "_AIBinaryDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/net.py:122:7 - error: Class "_LazyIpaddressLoader" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Loader.load" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/range.py:288:7 - error: Class "BaseRangeDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/range.py:455:7 - error: Class "BaseRangeLoader" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Loader.load" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/psycopg/psycopg/psycopg/types/string.py:22:7 - error: Class "_BaseStrDumper" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Dumper.dump" is not implemented (reportImplicitAbstractClass)
- 39484 errors, 0 warnings, 0 notes
+ 39498 errors, 0 warnings, 0 notes

pytest (https://github.com/pytest-dev/pytest)
+   /tmp/mypy_primer/projects/pytest/src/_pytest/capture.py:342:7 - error: Class "SysCaptureBase" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "CaptureBase.writeorg" is not implemented
+     "CaptureBase.snap" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/pytest/src/_pytest/capture.py:444:7 - error: Class "FDCaptureBase" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "CaptureBase.writeorg" is not implemented
+     "CaptureBase.snap" is not implemented (reportImplicitAbstractClass)
- 17847 errors, 0 warnings, 0 notes
+ 17849 errors, 0 warnings, 0 notes

ibis (https://github.com/ibis-project/ibis)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/__init__.py:621:7 - error: Class "CanCreateCatalog" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "CanListCatalog.list_catalogs" is not implemented
+     "CanCreateCatalog.create_catalog" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/__init__.py:707:7 - error: Class "CanCreateDatabase" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "CanListDatabase.list_databases" is not implemented
+     "CanCreateDatabase.create_database" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/impala/ddl.py:553:7 - error: Class "CreateFunction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Base.compile" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/sql/__init__.py:28:7 - error: Class "SQLBackend" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "BaseBackend.list_tables" is not implemented
+     "BaseBackend.version" is not implemented
+     and 2 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/sql/ddl.py:86:7 - error: Class "DML" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Base.dialect" is not implemented
+     "Base.compile" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/sql/ddl.py:90:7 - error: Class "DDL" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Base.dialect" is not implemented
+     "Base.compile" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/sql/ddl.py:94:7 - error: Class "CreateDDL" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Base.dialect" is not implemented
+     "Base.compile" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/sql/ddl.py:99:7 - error: Class "DropObject" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Base.dialect" is not implemented
+     "Base.format_dtype" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/sql/ddl.py:109:7 - error: Class "DropFunction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Base.dialect" is not implemented
+     "Base.format_dtype" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/ibis/ibis/backends/tests/base.py:330:7 - error: Class "ServiceBackendTest" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "BackendTest.deps" is not implemented
+     "BackendTest.connect" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
- 112675 errors, 0 warnings, 0 notes
+ 112685 errors, 0 warnings, 0 notes

sympy (https://github.com/sympy/sympy)
+   /tmp/mypy_primer/projects/sympy/sympy/physics/biomechanics/musculotendon.py:102:7 - error: Class "MusculotendonBase" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "MusculotendonBase.curves" is not implemented (reportImplicitAbstractClass)
- 597274 errors, 0 warnings, 0 notes
+ 597275 errors, 0 warnings, 0 notes

mongo-python-driver (https://github.com/mongodb/mongo-python-driver)
+   /tmp/mypy_primer/projects/mongo-python-driver/bson/codec_options.py:91:7 - error: Class "TypeCodec" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "TypeDecoder.transform_bson" is not implemented
+     "TypeEncoder.transform_python" is not implemented (reportImplicitAbstractClass)
- 52096 errors, 0 warnings, 0 notes
+ 52097 errors, 0 warnings, 0 notes

scikit-learn (https://github.com/scikit-learn/scikit-learn)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/naive_bayes.py:521:7 - error: Class "_BaseDiscreteNB" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "_BaseNB._joint_log_likelihood" is not implemented
+     "_BaseDiscreteNB._count" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/ensemble/_voting.py:48:7 - error: Class "_BaseVoting" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "_BaseHeterogeneousEnsemble.__init__" is not implemented
+     "_BaseVoting.fit" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/feature_selection/_univariate_selection.py:525:7 - error: Class "_BaseFilter" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "SelectorMixin._get_support_mask" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/gaussian_process/kernels.py:678:7 - error: Class "KernelOperator" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Kernel.__call__" is not implemented
+     "Kernel.diag" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/linear_model/_stochastic_gradient.py:1388:7 - error: Class "BaseSGDRegressor" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "BaseSGDRegressor.__init__" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/model_selection/_search_successive_halving.py:65:7 - error: Class "BaseSuccessiveHalving" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "BaseSuccessiveHalving._generate_candidate_params" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/scikit-learn/sklearn/utils/_param_validation.py:234:7 - error: Class "RealNotInt" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "Complex.__add__" is not implemented
+     "Complex.__radd__" is not implemented
+     and 21 more... (reportImplicitAbstractClass)
- 208046 errors, 0 warnings, 0 notes
+ 208053 errors, 0 warnings, 0 notes

pyppeteer (https://github.com/pyppeteer/pyppeteer): 1.95x faster (25.3s -> 13.0s in a single noisy sample)

black (https://github.com/psf/black)
+   /tmp/mypy_primer/projects/black/src/black/trans.py:1065:7 - error: Class "BaseStringSplitter" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "StringTransformer.do_transform" is not implemented
+     "BaseStringSplitter.do_splitter_match" is not implemented (reportImplicitAbstractClass)
- 1444 errors, 0 warnings, 0 notes
+ 1445 errors, 0 warnings, 0 notes

bokeh (https://github.com/bokeh/bokeh)
+   /tmp/mypy_primer/projects/bokeh/src/bokeh/command/subcommands/file_output.py:55:7 - error: Class "FileOutputSubcommand" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "FileOutputSubcommand.file_contents" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/bokeh/tests/unit/bokeh/command/test_subcommand.py:29:7 - error: Class "_Bad" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Subcommand.invoke" is not implemented (reportImplicitAbstractClass)
- 30084 errors, 0 warnings, 0 notes
+ 30086 errors, 0 warnings, 0 notes

stone (https://github.com/dropbox/stone)
+   /tmp/mypy_primer/projects/stone/stone/backend.py:353:7 - error: Class "CodeBackend" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Backend.generate" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/stone/stone/backends/obj_c.py:38:7 - error: Class "ObjCBaseBackend" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Backend.generate" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/stone/stone/backends/swift.py:89:7 - error: Class "SwiftBaseBackend" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Backend.generate" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/stone/stone/backends/python_rsrc/stone_validators.py:124:7 - error: Class "Primitive" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Validator.validate" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/stone/stone/backends/python_rsrc/stone_validators.py:414:7 - error: Class "Composite" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Validator.validate" is not implemented (reportImplicitAbstractClass)
- 17013 errors, 0 warnings, 0 notes
+ 17018 errors, 0 warnings, 0 notes

kopf (https://github.com/nolar/kopf)
+   /tmp/mypy_primer/projects/kopf/kopf/_kits/runner.py:20:11 - error: Class "_AbstractKopfRunner" is implicitly a `Protocol` because it extends a `Protocol` without implementing all abstract symbols. If this is intentional, add `Protocol` or `ABC` to its base classes, or use `metaclass=ABCMeta`.
+     "AbstractContextManager.__exit__" is not implemented (reportImplicitAbstractClass)
- 24272 errors, 0 warnings, 0 notes
+ 24273 errors, 0 warnings, 0 notes

prefect (https://github.com/PrefectHQ/prefect)
+   /tmp/mypy_primer/projects/prefect/src/prefect/_internal/concurrency/services.py:296:7 - error: Class "BatchedQueueService" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "BatchedQueueService._handle_batch" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:267:7 - error: Class "EmitEventAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "EmitEventAction.create_event" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:281:7 - error: Class "ExternalDataAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:373:7 - error: Class "JinjaTemplateAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:615:7 - error: Class "DeploymentAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:660:7 - error: Class "DeploymentCommandAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "DeploymentCommandAction.command" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:968:7 - error: Class "FlowRunAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:987:7 - error: Class "FlowRunStateChangeAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "FlowRunStateChangeAction.new_state" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:1290:7 - error: Class "WorkPoolAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:1335:7 - error: Class "WorkPoolCommandAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "WorkPoolCommandAction.command" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:1424:7 - error: Class "WorkQueueAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:1469:7 - error: Class "WorkQueueCommandAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "WorkQueueCommandAction.command" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:1543:7 - error: Class "AutomationAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "Action.act" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/prefect/src/prefect/server/events/actions.py:1588:7 - error: Class "AutomationCommandAction" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AutomationCommandAction.command" is not implemented (reportImplicitAbstractClass)
- 85901 errors, 0 warnings, 0 notes
+ 85915 errors, 0 warnings, 0 notes

core (https://github.com/home-assistant/core)
+   /tmp/mypy_primer/projects/core/homeassistant/components/airzone_cloud/binary_sensor.py:159:7 - error: Class "AirzoneBinarySensor" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AirzoneEntity.get_airzone_value" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/airzone_cloud/climate.py:175:7 - error: Class "AirzoneClimate" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AirzoneEntity.get_airzone_value" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/airzone_cloud/climate.py:238:7 - error: Class "AirzoneDeviceClimate" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AirzoneEntity.get_airzone_value" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/airzone_cloud/climate.py:334:7 - error: Class "AirzoneDeviceGroupClimate" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AirzoneEntity.get_airzone_value" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/airzone_cloud/select.py:75:7 - error: Class "AirzoneBaseSelect" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AirzoneEntity.get_airzone_value" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/airzone_cloud/sensor.py:272:7 - error: Class "AirzoneSensor" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AirzoneEntity.get_airzone_value" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/ambient_network/entity.py:16:7 - error: Class "AmbientNetworkEntity" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AmbientNetworkEntity._update_attrs" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/assist_satellite/entity.py:102:7 - error: Class "AssistSatelliteEntity" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AssistSatelliteEntity.async_get_configuration" is not implemented
+     "AssistSatelliteEntity.async_set_configuration" is not implemented
+     and 1 more... (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/august/entity.py:23:7 - error: Class "AugustEntity" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AugustEntity._update_from_data" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/august/entity.py:90:7 - error: Class "AugustDescriptionEntity" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AugustEntity._update_from_data" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/axis/entity.py:85:7 - error: Class "AxisEventEntity" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.
+     "AxisEventEntity.async_event_callback" is not implemented (reportImplicitAbstractClass)
+   /tmp/mypy_primer/projects/core/homeassistant/components/blue_current/entity.py:15:7 - error: Class "BlueCurrentEntity" is implicitly abstract because it extends an abstract class without implementing all abstract symbols. If this is intentional, add `ABC` to its base classes or use `metaclass=ABCMeta`.

... (truncated 570 lines) ...```

@DetachHead DetachHead merged commit 2ca13d8 into main Oct 15, 2024
20 checks passed
@DetachHead DetachHead deleted the classImplicitlyAbstract branch October 15, 2024 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

defining a class that extends an abstract class but does not define all of its methods should be an error
1 participant