Skip to content

Report invalid-abstract-method for @abstractmethod in non-abstract classes#3905

Open
nitishagar wants to merge 1 commit into
facebook:mainfrom
nitishagar:nitishagar/issue-3728-invalid-abstract-method
Open

Report invalid-abstract-method for @abstractmethod in non-abstract classes#3905
nitishagar wants to merge 1 commit into
facebook:mainfrom
nitishagar:nitishagar/issue-3728-invalid-abstract-method

Conversation

@nitishagar

Copy link
Copy Markdown
Contributor

Summary: Adds a new off-by-default lint rule invalid-abstract-method that
fires when a method decorated with @abstractmethod is defined in a class
that is not abstract (does not inherit from abc.ABC, use abc.ABCMeta,
have a transitive ABC base, or be a Protocol). Such a class is directly
instantiable at runtime while containing an unimplemented method — a likely
programming mistake.

The check runs inside solve_abstract_members (which already executes for
every class), guarded by !extends_abc() && !is_protocol() && !is_new_type().
It iterates the class's own declared fields (not MRO-inherited ones) and emits
one error per field whose ClassField::is_abstract() flag is set, pointing at
the method's definition range. The rule defaults to Severity::Ignore to
avoid breaking existing code without opt-in.

Fixes #3728

Test Plan:

  • cargo build -p pyrefly_config (clean)
  • cargo build -p pyrefly (clean)
  • cargo test -p pyrefly_config -- test_doc_headers test_doc_severities (2 passed)
  • cargo test -p pyrefly --lib abstract_methods (35 passed)
  • cargo test -p pyrefly --lib (5824 passed, 0 failed)
  • python3 test.py --no-test --no-conformance --no-jsonschema (clean, no new lint)
@github-actions

This comment has been minimized.

@nitishagar nitishagar force-pushed the nitishagar/issue-3728-invalid-abstract-method branch from b897614 to 6e3a633 Compare June 23, 2026 07:57
@github-actions github-actions Bot added size/l and removed size/l labels Jun 23, 2026
@github-actions

This comment has been minimized.

@yangdanny97

Copy link
Copy Markdown
Contributor

I don't think this one needs to be off-by-default

@nitishagar nitishagar force-pushed the nitishagar/issue-3728-invalid-abstract-method branch from 6e3a633 to 430893f Compare June 25, 2026 09:15
@github-actions github-actions Bot added size/l and removed size/l labels Jun 25, 2026
@nitishagar

nitishagar commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

@yangdanny97 I see. I've made invalid-abstract-method on by default (Severity::Error) and updated the docs and tests accordingly. A handful of existing tests that placed @abstractmethod on non-ABC classes now inherit from abc.ABC to match their intent. Let me know if such approach makes sense or we default to warning?

…asses

Summary: Adds a lint rule `invalid-abstract-method` that fires when a method
decorated with `@abstractmethod` is defined in a class that is not abstract
(does not inherit from `abc.ABC`, use `abc.ABCMeta`, have a transitive ABC
base, or be a Protocol). Such a class is directly instantiable at runtime
while containing an unimplemented method — a programming mistake, so the rule
is on by default (`Severity::Error`).

The check runs as a class-level diagnostic in `solve_class_checks`, alongside
the existing override/variance checks. It reuses the class field map those
checks already build and reports at each own method whose
`ClassField::is_abstract()` flag is set, guarded by
`!extends_abc() && !is_protocol() && !is_new_type()`. Running it here rather
than in the abstract-class check means it forces no field resolution for
modules that merely import the class, so laziness is preserved.

Existing tests that placed `@abstractmethod` on plainly-named (non-ABC)
classes now inherit from `abc.ABC`, matching their intent without changing the
behavior under test.

Fixes facebook#3728

Test Plan:
- cargo test -p pyrefly --lib  (5824 passed, 0 failed)
- cargo test -p pyrefly_config -- test_doc_headers test_doc_severities  (passed)
- cargo test -p pyrefly --lib abstract_methods  (35 passed)
- python3 test.py --no-test --no-conformance --no-jsonschema  (clean)
@nitishagar nitishagar force-pushed the nitishagar/issue-3728-invalid-abstract-method branch from 430893f to ea3f921 Compare June 25, 2026 09:32
@github-actions github-actions Bot added size/l and removed size/l labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown

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

openlibrary (https://github.com/internetarchive/openlibrary)
+ ERROR openlibrary/catalog/marc/marc_base.py:28:9-13: `MarcFieldBase.ind1` is decorated with `@abstractmethod` but `MarcFieldBase` is not an abstract class [invalid-abstract-method]
+ ERROR openlibrary/catalog/marc/marc_base.py:32:9-13: `MarcFieldBase.ind2` is decorated with `@abstractmethod` but `MarcFieldBase` is not an abstract class [invalid-abstract-method]
+ ERROR openlibrary/catalog/marc/marc_base.py:39:9-26: `MarcFieldBase.get_all_subfields` is decorated with `@abstractmethod` but `MarcFieldBase` is not an abstract class [invalid-abstract-method]
+ ERROR openlibrary/catalog/marc/marc_base.py:86:9-20: `MarcBase.read_fields` is decorated with `@abstractmethod` but `MarcBase` is not an abstract class [invalid-abstract-method]

cloud-init (https://github.com/canonical/cloud-init)
+ ERROR cloudinit/net/netops/__init__.py:10:9-16: `NetOps.link_up` is decorated with `@abstractmethod` but `NetOps` is not an abstract class [invalid-abstract-method]
+ ERROR cloudinit/net/netops/__init__.py:15:9-18: `NetOps.link_down` is decorated with `@abstractmethod` but `NetOps` is not an abstract class [invalid-abstract-method]
+ ERROR cloudinit/net/netops/__init__.py:20:9-20: `NetOps.link_rename` is decorated with `@abstractmethod` but `NetOps` is not an abstract class [invalid-abstract-method]
+ ERROR cloudinit/net/netops/__init__.py:49:9-26: `NetOps.get_default_route` is decorated with `@abstractmethod` but `NetOps` is not an abstract class [invalid-abstract-method]

mitmproxy (https://github.com/mitmproxy/mitmproxy)
+ ERROR docs/src/examples/contrib/webscanner_helper/proxyauth_selenium.py:136:9-14: `SeleniumAddon.login` is decorated with `@abstractmethod` but `SeleniumAddon` is not an abstract class [invalid-abstract-method]
+ ERROR docs/src/examples/contrib/webscanner_helper/urlinjection.py:18:9-15: `InjectionGenerator.inject` is decorated with `@abstractmethod` but `InjectionGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR examples/contrib/webscanner_helper/proxyauth_selenium.py:136:9-14: `SeleniumAddon.login` is decorated with `@abstractmethod` but `SeleniumAddon` is not an abstract class [invalid-abstract-method]
+ ERROR examples/contrib/webscanner_helper/urlinjection.py:18:9-15: `InjectionGenerator.inject` is decorated with `@abstractmethod` but `InjectionGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mitmproxy/contentviews/_view_socketio.py:13:9-16: `PacketType.visible` is decorated with `@abstractmethod` but `PacketType` is not an abstract class [invalid-abstract-method]
+ ERROR mitmproxy/proxy/layer.py:127:9-22: `Layer._handle_event` is decorated with `@abstractmethod` but `Layer` is not an abstract class [invalid-abstract-method]
+ ERROR mitmproxy/proxy/layers/http/_http3.py:218:9-22: `Http3Connection.parse_headers` is decorated with `@abstractmethod` but `Http3Connection` is not an abstract class [invalid-abstract-method]
+ ERROR mitmproxy/tools/console/commander/commander.py:16:9-14: `Completer.cycle` is decorated with `@abstractmethod` but `Completer` is not an abstract class [invalid-abstract-method]

rotki (https://github.com/rotki/rotki)
+ ERROR rotkehlchen/exchanges/exchange.py:169:9-29: `ExchangeWithExtras.edit_exchange_extras` is decorated with `@abstractmethod` but `ExchangeWithExtras` is not an abstract class [invalid-abstract-method]
+ ERROR rotkehlchen/utils/interfaces.py:104:9-18: `DBSetterMixin._get_name` is decorated with `@abstractmethod` but `DBSetterMixin` is not an abstract class [invalid-abstract-method]

steam.py (https://github.com/Gobot1234/steam.py)
+ ERROR steam/ext/commands/help.py:83:15-24: `HelpCommand.send_help` is decorated with `@abstractmethod` but `HelpCommand` is not an abstract class [invalid-abstract-method]
+ ERROR steam/ext/commands/help.py:93:15-28: `HelpCommand.send_cog_help` is decorated with `@abstractmethod` but `HelpCommand` is not an abstract class [invalid-abstract-method]
+ ERROR steam/ext/commands/help.py:107:15-32: `HelpCommand.send_command_help` is decorated with `@abstractmethod` but `HelpCommand` is not an abstract class [invalid-abstract-method]
+ ERROR steam/ext/commands/help.py:117:15-30: `HelpCommand.send_group_help` is decorated with `@abstractmethod` but `HelpCommand` is not an abstract class [invalid-abstract-method]
+ ERROR steam/ext/commands/help.py:127:15-32: `HelpCommand.command_not_found` is decorated with `@abstractmethod` but `HelpCommand` is not an abstract class [invalid-abstract-method]

bokeh (https://github.com/bokeh/bokeh)
+ ERROR src/bokeh/models/annotations/annotation.pyi:21:9-17: `Annotation.__init__` is decorated with `@abstractmethod` but `Annotation` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/annotation.pyi:28:9-17: `DataAnnotation.__init__` is decorated with `@abstractmethod` but `DataAnnotation` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/arrows.pyi:33:9-17: `ArrowHead.__init__` is decorated with `@abstractmethod` but `ArrowHead` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/dimensional.py:76:9-17: `Dimensional.is_known` is decorated with `@abstractmethod` but `Dimensional` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/dimensional.pyi:22:9-17: `Dimensional.__init__` is decorated with `@abstractmethod` but `Dimensional` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/html/html_annotation.pyi:20:9-17: `HTMLAnnotation.__init__` is decorated with `@abstractmethod` but `HTMLAnnotation` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/labels.pyi:57:9-17: `TextAnnotation.__init__` is decorated with `@abstractmethod` but `TextAnnotation` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/legends.pyi:94:9-17: `BaseColorBar.__init__` is decorated with `@abstractmethod` but `BaseColorBar` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/annotations/legends.pyi:289:9-17: `BaseBar.__init__` is decorated with `@abstractmethod` but `BaseBar` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/axes.pyi:86:9-17: `Axis.__init__` is decorated with `@abstractmethod` but `Axis` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/axes.pyi:112:9-17: `ContinuousAxis.__init__` is decorated with `@abstractmethod` but `ContinuousAxis` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/callbacks.pyi:28:9-17: `Callback.__init__` is decorated with `@abstractmethod` but `Callback` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/callbacks.pyi:45:9-17: `CustomCode.__init__` is decorated with `@abstractmethod` but `CustomCode` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/comparisons.pyi:20:9-17: `Comparison.__init__` is decorated with `@abstractmethod` but `Comparison` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/css.pyi:20:9-17: `StyleSheet.__init__` is decorated with `@abstractmethod` but `StyleSheet` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/dom.pyi:27:9-17: `DOMNode.__init__` is decorated with `@abstractmethod` but `DOMNode` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/dom.pyi:43:9-17: `DOMElement.__init__` is decorated with `@abstractmethod` but `DOMElement` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/dom.pyi:77:9-17: `Action.__init__` is decorated with `@abstractmethod` but `Action` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/dom.pyi:100:9-17: `Placeholder.__init__` is decorated with `@abstractmethod` but `Placeholder` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/expressions.pyi:22:9-17: `Expression.__init__` is decorated with `@abstractmethod` but `Expression` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/expressions.pyi:57:9-17: `ScalarExpression.__init__` is decorated with `@abstractmethod` but `ScalarExpression` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/expressions.pyi:84:9-17: `CoordinateTransform.__init__` is decorated with `@abstractmethod` but `CoordinateTransform` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/expressions.pyi:108:9-17: `XYComponent.__init__` is decorated with `@abstractmethod` but `XYComponent` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/filters.pyi:20:9-17: `Filter.__init__` is decorated with `@abstractmethod` but `Filter` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/filters.pyi:47:9-17: `CompositeFilter.__init__` is decorated with `@abstractmethod` but `CompositeFilter` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/formatters.pyi:30:9-17: `TickFormatter.__init__` is decorated with `@abstractmethod` but `TickFormatter` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:22:9-17: `Glyph.__init__` is decorated with `@abstractmethod` but `Glyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:31:9-17: `XYGlyph.__init__` is decorated with `@abstractmethod` but `XYGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:38:9-17: `RadialGlyph.__init__` is decorated with `@abstractmethod` but `RadialGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:45:9-17: `ConnectedXYGlyph.__init__` is decorated with `@abstractmethod` but `ConnectedXYGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:52:9-17: `LineGlyph.__init__` is decorated with `@abstractmethod` but `LineGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:59:9-17: `FillGlyph.__init__` is decorated with `@abstractmethod` but `FillGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:66:9-17: `TextGlyph.__init__` is decorated with `@abstractmethod` but `TextGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyph.pyi:73:9-17: `HatchGlyph.__init__` is decorated with `@abstractmethod` but `HatchGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyphs.pyi:87:9-17: `Marker.__init__` is decorated with `@abstractmethod` but `Marker` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyphs.pyi:100:9-17: `LRTBGlyph.__init__` is decorated with `@abstractmethod` but `LRTBGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyphs.pyi:311:9-17: `ImageBase.__init__` is decorated with `@abstractmethod` but `ImageBase` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/glyphs.pyi:586:9-17: `MathTextGlyph.__init__` is decorated with `@abstractmethod` but `MathTextGlyph` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/graphics.pyi:20:9-17: `Marking.__init__` is decorated with `@abstractmethod` but `Marking` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/graphs.pyi:21:9-17: `LayoutProvider.__init__` is decorated with `@abstractmethod` but `LayoutProvider` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/graphs.pyi:41:9-17: `GraphCoordinates.__init__` is decorated with `@abstractmethod` but `GraphCoordinates` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/graphs.pyi:62:9-17: `GraphHitTestPolicy.__init__` is decorated with `@abstractmethod` but `GraphHitTestPolicy` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/labeling.pyi:20:9-17: `LabelingPolicy.__init__` is decorated with `@abstractmethod` but `LabelingPolicy` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/layouts.pyi:50:9-17: `LayoutDOM.__init__` is decorated with `@abstractmethod` but `LayoutDOM` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/layouts.pyi:81:9-17: `GridCommon.__init__` is decorated with `@abstractmethod` but `GridCommon` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/layouts.pyi:143:9-17: `FlexBox.__init__` is decorated with `@abstractmethod` but `FlexBox` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/map_plots.pyi:25:9-17: `MapOptions.__init__` is decorated with `@abstractmethod` but `MapOptions` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/map_plots.pyi:36:9-17: `MapPlot.__init__` is decorated with `@abstractmethod` but `MapPlot` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/mappers.pyi:26:9-17: `Mapper.__init__` is decorated with `@abstractmethod` but `Mapper` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/mappers.pyi:34:9-17: `ColorMapper.__init__` is decorated with `@abstractmethod` but `ColorMapper` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/mappers.pyi:50:9-17: `CategoricalMapper.__init__` is decorated with `@abstractmethod` but `CategoricalMapper` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/mappers.pyi:91:9-17: `ContinuousColorMapper.__init__` is decorated with `@abstractmethod` but `ContinuousColorMapper` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/mappers.pyi:116:9-17: `ScanningColorMapper.__init__` is decorated with `@abstractmethod` but `ScanningColorMapper` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/mappers.pyi:133:9-17: `StackColorMapper.__init__` is decorated with `@abstractmethod` but `StackColorMapper` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/misc/group_by.pyi:20:9-17: `GroupBy.__init__` is decorated with `@abstractmethod` but `GroupBy` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/nodes.pyi:62:9-17: `Coordinate.__init__` is decorated with `@abstractmethod` but `Coordinate` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/ranges.pyi:40:9-17: `Range.__init__` is decorated with `@abstractmethod` but `Range` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/ranges.pyi:48:9-17: `NumericalRange.__init__` is decorated with `@abstractmethod` but `NumericalRange` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/ranges.pyi:77:9-17: `DataRange.__init__` is decorated with `@abstractmethod` but `DataRange` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/renderers/renderer.pyi:40:9-17: `Renderer.__init__` is decorated with `@abstractmethod` but `Renderer` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/renderers/renderer.pyi:57:9-17: `CompositeRenderer.__init__` is decorated with `@abstractmethod` but `CompositeRenderer` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/renderers/renderer.pyi:67:9-17: `DataRenderer.__init__` is decorated with `@abstractmethod` but `DataRenderer` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/renderers/renderer.pyi:74:9-17: `GuideRenderer.__init__` is decorated with `@abstractmethod` but `GuideRenderer` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/scales.pyi:20:9-17: `Scale.__init__` is decorated with `@abstractmethod` but `Scale` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/selections.pyi:40:9-17: `SelectionPolicy.__init__` is decorated with `@abstractmethod` but `SelectionPolicy` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/selectors.pyi:20:9-17: `Selector.__init__` is decorated with `@abstractmethod` but `Selector` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/sources.pyi:48:9-17: `DataSource.__init__` is decorated with `@abstractmethod` but `DataSource` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/sources.pyi:58:9-17: `ColumnarDataSource.__init__` is decorated with `@abstractmethod` but `ColumnarDataSource` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/sources.pyi:123:9-17: `WebDataSource.__init__` is decorated with `@abstractmethod` but `WebDataSource` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/text.pyi:20:9-17: `BaseText.__init__` is decorated with `@abstractmethod` but `BaseText` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/text.pyi:29:9-17: `MathText.__init__` is decorated with `@abstractmethod` but `MathText` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/textures.pyi:22:9-17: `Texture.__init__` is decorated with `@abstractmethod` but `Texture` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tickers.pyi:22:9-17: `Ticker.__init__` is decorated with `@abstractmethod` but `Ticker` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tickers.pyi:42:9-17: `ContinuousTicker.__init__` is decorated with `@abstractmethod` but `ContinuousTicker` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tiles.pyi:28:9-17: `TileSource.__init__` is decorated with `@abstractmethod` but `TileSource` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tiles.pyi:46:9-17: `MercatorTileSource.__init__` is decorated with `@abstractmethod` but `MercatorTileSource` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:77:9-17: `Tool.__init__` is decorated with `@abstractmethod` but `Tool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:108:9-17: `ActionTool.__init__` is decorated with `@abstractmethod` but `ActionTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:115:9-17: `PlotActionTool.__init__` is decorated with `@abstractmethod` but `PlotActionTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:122:9-17: `GestureTool.__init__` is decorated with `@abstractmethod` but `GestureTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:129:9-17: `Drag.__init__` is decorated with `@abstractmethod` but `Drag` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:136:9-17: `Scroll.__init__` is decorated with `@abstractmethod` but `Scroll` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:143:9-17: `Tap.__init__` is decorated with `@abstractmethod` but `Tap` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:150:9-17: `SelectTool.__init__` is decorated with `@abstractmethod` but `SelectTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:163:9-17: `RegionSelectTool.__init__` is decorated with `@abstractmethod` but `RegionSelectTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:176:9-17: `InspectTool.__init__` is decorated with `@abstractmethod` but `InspectTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:389:9-17: `ZoomBaseTool.__init__` is decorated with `@abstractmethod` but `ZoomBaseTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:520:9-17: `EditTool.__init__` is decorated with `@abstractmethod` but `EditTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/tools.pyi:530:9-17: `PolyTool.__init__` is decorated with `@abstractmethod` but `PolyTool` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/transforms.pyi:26:9-17: `Transform.__init__` is decorated with `@abstractmethod` but `Transform` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/transforms.pyi:72:9-17: `Interpolator.__init__` is decorated with `@abstractmethod` but `Interpolator` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/ui/icons.pyi:22:9-17: `Icon.__init__` is decorated with `@abstractmethod` but `Icon` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/ui/menus.pyi:30:9-17: `MenuItem.__init__` is decorated with `@abstractmethod` but `MenuItem` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/buttons.pyi:27:9-17: `ButtonLike.__init__` is decorated with `@abstractmethod` but `ButtonLike` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/buttons.pyi:37:9-17: `AbstractButton.__init__` is decorated with `@abstractmethod` but `AbstractButton` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/groups.pyi:21:9-17: `AbstractGroup.__init__` is decorated with `@abstractmethod` but `AbstractGroup` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/groups.pyi:30:9-17: `ToggleButtonGroup.__init__` is decorated with `@abstractmethod` but `ToggleButtonGroup` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/groups.pyi:39:9-17: `ToggleInputGroup.__init__` is decorated with `@abstractmethod` but `ToggleInputGroup` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/indicators.pyi:21:9-17: `Indicator.__init__` is decorated with `@abstractmethod` but `Indicator` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/inputs.pyi:41:9-17: `InputWidget.__init__` is decorated with `@abstractmethod` but `InputWidget` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/inputs.pyi:107:9-17: `ToggleInput.__init__` is decorated with `@abstractmethod` but `ToggleInput` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/markups.pyi:21:9-17: `Markup.__init__` is decorated with `@abstractmethod` but `Markup` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/pickers.pyi:29:9-17: `PickerBase.__init__` is decorated with `@abstractmethod` but `PickerBase` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/pickers.pyi:43:9-17: `TimeCommon.__init__` is decorated with `@abstractmethod` but `TimeCommon` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/pickers.pyi:72:9-17: `DateCommon.__init__` is decorated with `@abstractmethod` but `DateCommon` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/pickers.pyi:84:9-17: `BaseDatePicker.__init__` is decorated with `@abstractmethod` but `BaseDatePicker` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/pickers.pyi:121:9-17: `BaseDatetimePicker.__init__` is decorated with `@abstractmethod` but `BaseDatetimePicker` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/sliders.pyi:28:9-17: `AbstractSlider.__init__` is decorated with `@abstractmethod` but `AbstractSlider` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/sliders.pyi:42:9-17: `NumericalSlider.__init__` is decorated with `@abstractmethod` but `NumericalSlider` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/tables.pyi:35:9-17: `CellFormatter.__init__` is decorated with `@abstractmethod` but `CellFormatter` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/tables.pyi:42:9-17: `CellEditor.__init__` is decorated with `@abstractmethod` but `CellEditor` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/tables.pyi:49:9-17: `RowAggregator.__init__` is decorated with `@abstractmethod` but `RowAggregator` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/tables.pyi:235:9-17: `TableWidget.__init__` is decorated with `@abstractmethod` but `TableWidget` is not an abstract class [invalid-abstract-method]
+ ERROR src/bokeh/models/widgets/widget.pyi:20:9-17: `Widget.__init__` is decorated with `@abstractmethod` but `Widget` is not an abstract class [invalid-abstract-method]

pegen (https://github.com/we-like-parsers/pegen)
+ ERROR src/pegen/grammar.py:134:9-22: `Leaf.initial_names` is decorated with `@abstractmethod` but `Leaf` is not an abstract class [invalid-abstract-method]
+ ERROR src/pegen/parser.py:190:9-14: `Parser.start` is decorated with `@abstractmethod` but `Parser` is not an abstract class [invalid-abstract-method]
+ ERROR src/pegen/parser_generator.py:82:9-17: `ParserGenerator.generate` is decorated with `@abstractmethod` but `ParserGenerator` is not an abstract class [invalid-abstract-method]

scipy-stubs (https://github.com/scipy/scipy-stubs)
+ ERROR scipy-stubs/io/matlab/_miobase.pyi:32:9-20: `MatVarReader.read_header` is decorated with `@abstractmethod` but `MatVarReader` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/io/matlab/_miobase.pyi:34:9-26: `MatVarReader.array_from_header` is decorated with `@abstractmethod` but `MatVarReader` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/optimize/_nonlin.pyi:129:9-14: `Jacobian.solve` is decorated with `@abstractmethod` but `Jacobian` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/signal/_ltisys.pyi:111:9-14: `LinearTimeInvariant.to_tf` is decorated with `@abstractmethod` but `LinearTimeInvariant` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/signal/_ltisys.pyi:114:9-15: `LinearTimeInvariant.to_zpk` is decorated with `@abstractmethod` but `LinearTimeInvariant` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/signal/_ltisys.pyi:117:9-14: `LinearTimeInvariant.to_ss` is decorated with `@abstractmethod` but `LinearTimeInvariant` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/stats/_typing.pyi:36:9-16: `BunchMixin.__new__` is decorated with `@abstractmethod` but `BunchMixin` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/stats/_typing.pyi:38:9-17: `BunchMixin.__init__` is decorated with `@abstractmethod` but `BunchMixin` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/stats/_typing.pyi:54:9-16: `BaseBunch.__new__` is decorated with `@abstractmethod` but `BaseBunch` is not an abstract class [invalid-abstract-method]
+ ERROR scipy-stubs/stats/_typing.pyi:56:9-17: `BaseBunch.__init__` is decorated with `@abstractmethod` but `BaseBunch` is not an abstract class [invalid-abstract-method]

spark (https://github.com/apache/spark)
+ ERROR python/pyspark/sql/tests/pandas/helper/helper_pandas_transform_with_state.py:50:9-15: `StatefulProcessorFactory.pandas` is decorated with `@abstractmethod` but `StatefulProcessorFactory` is not an abstract class [invalid-abstract-method]
+ ERROR python/pyspark/sql/tests/pandas/helper/helper_pandas_transform_with_state.py:53:9-12: `StatefulProcessorFactory.row` is decorated with `@abstractmethod` but `StatefulProcessorFactory` is not an abstract class [invalid-abstract-method]
+ ERROR python/pyspark/sql/tests/pandas/streaming/test_pandas_transform_with_state.py:76:9-19: `TransformWithStateTestsMixin.use_pandas` is decorated with `@abstractmethod` but `TransformWithStateTestsMixin` is not an abstract class [invalid-abstract-method]
+ ERROR python/pyspark/sql/tests/pandas/streaming/test_pandas_transform_with_state_state_variable.py:66:9-19: `TransformWithStateStateVariableTestsMixin.use_pandas` is decorated with `@abstractmethod` but `TransformWithStateStateVariableTestsMixin` is not an abstract class [invalid-abstract-method]

scikit-learn (https://github.com/scikit-learn/scikit-learn)
+ ERROR sklearn/metrics/_pairwise_distances_reduction/_dispatcher.py:145:9-16: `BaseDistancesReductionDispatcher.compute` is decorated with `@abstractmethod` but `BaseDistancesReductionDispatcher` is not an abstract class [invalid-abstract-method]

materialize (https://github.com/MaterializeInc/materialize)
+ ERROR test/cluster-spec-sheet/mzcompose.py:3793:9-19: `BenchTarget.initialize` is decorated with `@abstractmethod` but `BenchTarget` is not an abstract class [invalid-abstract-method]
+ ERROR test/cluster-spec-sheet/mzcompose.py:3795:9-23: `BenchTarget.new_connection` is decorated with `@abstractmethod` but `BenchTarget` is not an abstract class [invalid-abstract-method]
+ ERROR test/cluster-spec-sheet/mzcompose.py:3797:9-16: `BenchTarget.cleanup` is decorated with `@abstractmethod` but `BenchTarget` is not an abstract class [invalid-abstract-method]
+ ERROR test/cluster-spec-sheet/mzcompose.py:3799:9-31: `BenchTarget.replica_size_for_scale` is decorated with `@abstractmethod` but `BenchTarget` is not an abstract class [invalid-abstract-method]
+ ERROR test/cluster-spec-sheet/mzcompose.py:3812:9-33: `BenchTarget.dbbench_connection_flags` is decorated with `@abstractmethod` but `BenchTarget` is not an abstract class [invalid-abstract-method]

freqtrade (https://github.com/freqtrade/freqtrade)
+ ERROR freqtrade/freqai/RL/BaseEnvironment.py:161:9-25: `BaseEnvironment.set_action_space` is decorated with `@abstractmethod` but `BaseEnvironment` is not an abstract class [invalid-abstract-method]
+ ERROR freqtrade/freqai/RL/BaseEnvironment.py:247:9-13: `BaseEnvironment.step` is decorated with `@abstractmethod` but `BaseEnvironment` is not an abstract class [invalid-abstract-method]
+ ERROR freqtrade/freqai/RL/BaseEnvironment.py:306:9-23: `BaseEnvironment.is_tradesignal` is decorated with `@abstractmethod` but `BaseEnvironment` is not an abstract class [invalid-abstract-method]
+ ERROR freqtrade/freqai/RL/BaseEnvironment.py:336:9-25: `BaseEnvironment.calculate_reward` is decorated with `@abstractmethod` but `BaseEnvironment` is not an abstract class [invalid-abstract-method]
+ ERROR freqtrade/rpc/rpc.py:104:9-16: `RPCHandler.cleanup` is decorated with `@abstractmethod` but `RPCHandler` is not an abstract class [invalid-abstract-method]
+ ERROR freqtrade/rpc/rpc.py:108:9-17: `RPCHandler.send_msg` is decorated with `@abstractmethod` but `RPCHandler` is not an abstract class [invalid-abstract-method]

setuptools (https://github.com/pypa/setuptools)
+ ERROR setuptools/__init__.py:200:9-27: `Command.initialize_options` is decorated with `@abstractmethod` but `Command` is not an abstract class [invalid-abstract-method]
+ ERROR setuptools/__init__.py:209:9-25: `Command.finalize_options` is decorated with `@abstractmethod` but `Command` is not an abstract class [invalid-abstract-method]
+ ERROR setuptools/__init__.py:218:9-12: `Command.run` is decorated with `@abstractmethod` but `Command` is not an abstract class [invalid-abstract-method]
+ ERROR setuptools/_distutils/cmd.py:136:9-27: `Command.initialize_options` is decorated with `@abstractmethod` but `Command` is not an abstract class [invalid-abstract-method]
+ ERROR setuptools/_distutils/cmd.py:151:9-25: `Command.finalize_options` is decorated with `@abstractmethod` but `Command` is not an abstract class [invalid-abstract-method]
+ ERROR setuptools/_distutils/cmd.py:181:9-12: `Command.run` is decorated with `@abstractmethod` but `Command` is not an abstract class [invalid-abstract-method]
+ ERROR setuptools/config/setupcfg.py:274:9-16: `ConfigHandler.parsers` is decorated with `@abstractmethod` but `ConfigHandler` is not an abstract class [invalid-abstract-method]

pycryptodome (https://github.com/Legrandin/pycryptodome)
+ ERROR lib/Crypto/Math/_IntegerBase.py:42:9-16: `IntegerBase.__int__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:46:9-16: `IntegerBase.__str__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:50:9-17: `IntegerBase.__repr__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:54:9-17: `IntegerBase.to_bytes` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:59:9-19: `IntegerBase.from_bytes` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:64:9-15: `IntegerBase.__eq__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:68:9-15: `IntegerBase.__ne__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:72:9-15: `IntegerBase.__lt__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:76:9-15: `IntegerBase.__le__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:80:9-15: `IntegerBase.__gt__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:84:9-15: `IntegerBase.__ge__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:88:9-20: `IntegerBase.__nonzero__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:90:5-13: `IntegerBase.__bool__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:93:9-20: `IntegerBase.is_negative` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:98:9-16: `IntegerBase.__add__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:102:9-16: `IntegerBase.__sub__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:106:9-16: `IntegerBase.__mul__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:110:9-21: `IntegerBase.__floordiv__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:114:9-16: `IntegerBase.__mod__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:118:9-20: `IntegerBase.inplace_pow` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:122:9-16: `IntegerBase.__pow__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:126:9-16: `IntegerBase.__abs__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:130:9-13: `IntegerBase.sqrt` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:134:9-17: `IntegerBase.__iadd__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:138:9-17: `IntegerBase.__isub__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:142:9-17: `IntegerBase.__imul__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:146:9-17: `IntegerBase.__imod__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:151:9-16: `IntegerBase.__and__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:155:9-15: `IntegerBase.__or__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:159:9-19: `IntegerBase.__rshift__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:163:9-20: `IntegerBase.__irshift__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:167:9-19: `IntegerBase.__lshift__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:171:9-20: `IntegerBase.__ilshift__` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:175:9-16: `IntegerBase.get_bit` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:180:9-15: `IntegerBase.is_odd` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:184:9-16: `IntegerBase.is_even` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:188:9-21: `IntegerBase.size_in_bits` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:192:9-22: `IntegerBase.size_in_bytes` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:196:9-26: `IntegerBase.is_perfect_square` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:200:9-29: `IntegerBase.fail_if_divisible_by` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:204:9-28: `IntegerBase.multiply_accumulate` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:208:9-12: `IntegerBase.set` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:212:9-24: `IntegerBase.inplace_inverse` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:216:9-16: `IntegerBase.inverse` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:220:9-12: `IntegerBase.gcd` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:224:9-12: `IntegerBase.lcm` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:229:9-22: `IntegerBase.jacobi_symbol` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Math/_IntegerBase.py:395:9-27: `IntegerBase._mult_modulo_bytes` is decorated with `@abstractmethod` but `IntegerBase` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Util/_raw_api.py:59:9-12: `_VoidPointer.get` is decorated with `@abstractmethod` but `_VoidPointer` is not an abstract class [invalid-abstract-method]
+ ERROR lib/Crypto/Util/_raw_api.py:64:9-19: `_VoidPointer.address_of` is decorated with `@abstractmethod` but `_VoidPointer` is not an abstract class [invalid-abstract-method]

bidict (https://github.com/jab/bidict)
+ ERROR bidict/_abc.py:42:9-16: `BidirectionalMapping.inverse` is decorated with `@abstractmethod` but `BidirectionalMapping` is not an abstract class [invalid-abstract-method]

manticore (https://github.com/trailofbits/manticore)
+ ERROR manticore/core/smtlib/solver.py:335:9-16: `SMTLIBSolver.command` is decorated with `@abstractmethod` but `SMTLIBSolver` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/core/smtlib/solver.py:340:9-14: `SMTLIBSolver.inits` is decorated with `@abstractmethod` but `SMTLIBSolver` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:11:9-16: `Instruction.address` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:16:9-17: `Instruction.mnemonic` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:21:9-15: `Instruction.op_str` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:26:9-13: `Instruction.size` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:31:9-17: `Instruction.operands` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:37:9-18: `Instruction.insn_name` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:42:9-13: `Instruction.name` is decorated with `@abstractmethod` but `Instruction` is not an abstract class [invalid-abstract-method]
+ ERROR manticore/native/cpu/disasm.py:53:9-32: `Disasm.disassemble_instruction` is decorated with `@abstractmethod` but `Disasm` is not an abstract class [invalid-abstract-method]

asynq (https://github.com/quora/asynq)
+ ERROR asynq/contexts.pyi:27:9-15: `AsyncContext.resume` is decorated with `@abstractmethod` but `AsyncContext` is not an abstract class [invalid-abstract-method]
+ ERROR asynq/contexts.pyi:29:9-14: `AsyncContext.pause` is decorated with `@abstractmethod` but `AsyncContext` is not an abstract class [invalid-abstract-method]

streamlit (https://github.com/streamlit/streamlit)
+ ERROR lib/streamlit/runtime/caching/cache_utils.py:119:9-20: `Cache.read_result` is decorated with `@abstractmethod` but `Cache` is not an abstract class [invalid-abstract-method]
+ ERROR lib/streamlit/runtime/caching/cache_utils.py:133:9-21: `Cache.write_result` is decorated with `@abstractmethod` but `Cache` is not an abstract class [invalid-abstract-method]
+ ERROR lib/streamlit/runtime/caching/cache_utils.py:170:9-15: `Cache._clear` is decorated with `@abstractmethod` but `Cache` is not an abstract class [invalid-abstract-method]

stone (https://github.com/dropbox/stone)
+ ERROR stone/backends/python_rsrc/stone_validators.py:689:9-14: `Redactor.apply` is decorated with `@abstractmethod` but `Redactor` is not an abstract class [invalid-abstract-method]
+ ERROR stone/cli_helpers.py:179:9-13: `FilterExpr.eval` is decorated with `@abstractmethod` but `FilterExpr` is not an abstract class [invalid-abstract-method]
+ ERROR stone/ir/data_types.py:97:9-14: `DataType.check` is decorated with `@abstractmethod` but `DataType` is not an abstract class [invalid-abstract-method]
+ ERROR stone/ir/data_types.py:111:9-22: `DataType.check_example` is decorated with `@abstractmethod` but `DataType` is not an abstract class [invalid-abstract-method]

pytest-autoprofile (https://gitlab.com/TTsangSC/pytest-autoprofile)
+ ERROR src/pytest_autoprofile/importers.py:1318:9-25: `_ProfileTestsMixin._rewrite_asserts` is decorated with `@abstractmethod` but `_ProfileTestsMixin` is not an abstract class [invalid-abstract-method]
+ ERROR src/pytest_autoprofile/importers.py:1323:9-23: `_ProfileTestsMixin._test_patterns` is decorated with `@abstractmethod` but `_ProfileTestsMixin` is not an abstract class [invalid-abstract-method]

ibis (https://github.com/ibis-project/ibis)
+ ERROR ibis/common/bases.py:129:9-17: `Hashable.__hash__` is decorated with `@abstractmethod` but `Hashable` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/bases.py:147:9-19: `Comparable.__equals__` is decorated with `@abstractmethod` but `Comparable` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:31:9-17: `Iterable.__iter__` is decorated with `@abstractmethod` but `Iterable` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:39:9-21: `Reversible.__reversed__` is decorated with `@abstractmethod` but `Reversible` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:47:9-17: `Iterator.__next__` is decorated with `@abstractmethod` but `Iterator` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:58:9-16: `Sized.__len__` is decorated with `@abstractmethod` but `Sized` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:66:9-21: `Container.__contains__` is decorated with `@abstractmethod` but `Container` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:79:9-20: `Sequence.__getitem__` is decorated with `@abstractmethod` but `Sequence` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/collections.py:122:9-20: `Mapping.__getitem__` is decorated with `@abstractmethod` but `Mapping` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/deferred.py:30:9-16: `Resolver.resolve` is decorated with `@abstractmethod` but `Resolver` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/deferred.py:46:9-15: `Resolver.__eq__` is decorated with `@abstractmethod` but `Resolver` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/deferred.py:49:9-17: `Resolver.__hash__` is decorated with `@abstractmethod` but `Resolver` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/graph.py:258:9-17: `Node.__args__` is decorated with `@abstractmethod` but `Node` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/graph.py:263:9-21: `Node.__argnames__` is decorated with `@abstractmethod` but `Node` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/patterns.py:203:9-14: `Pattern.match` is decorated with `@abstractmethod` but `Pattern` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/patterns.py:225:9-15: `Pattern.__eq__` is decorated with `@abstractmethod` but `Pattern` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/patterns.py:228:9-17: `Pattern.__hash__` is decorated with `@abstractmethod` but `Pattern` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/selectors.py:20:9-15: `Expandable.expand` is decorated with `@abstractmethod` but `Expandable` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/selectors.py:40:9-21: `Selector.expand_names` is decorated with `@abstractmethod` but `Selector` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/tests/test_bases.py:32:13-16: `Foo.foo` is decorated with `@abstractmethod` but `Foo` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/tests/test_bases.py:36:13-16: `Foo.bar` is decorated with `@abstractmethod` but `Foo` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/common/typing.py:265:9-19: `Coercible.__coerce__` is decorated with `@abstractmethod` but `Coercible` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/datatypes/core.py:67:9-15: `DataType.scalar` is decorated with `@abstractmethod` but `DataType` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/datatypes/core.py:71:9-15: `DataType.column` is decorated with `@abstractmethod` but `DataType` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/datatypes/core.py:515:9-15: `Integer.nbytes` is decorated with `@abstractmethod` but `Integer` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/datatypes/core.py:668:9-15: `Floating.nbytes` is decorated with `@abstractmethod` but `Floating` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/operations/core.py:100:9-14: `Value.dtype` is decorated with `@abstractmethod` but `Value` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/operations/core.py:111:9-14: `Value.shape` is decorated with `@abstractmethod` but `Value` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/operations/relations.py:52:9-15: `Relation.values` is decorated with `@abstractmethod` but `Relation` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/expr/operations/relations.py:62:9-15: `Relation.schema` is decorated with `@abstractmethod` but `Relation` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/formats/__init__.py:243:9-17: `TableProxy.to_frame` is decorated with `@abstractmethod` but `TableProxy` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/formats/__init__.py:247:9-19: `TableProxy.to_pyarrow` is decorated with `@abstractmethod` but `TableProxy` is not an abstract class [invalid-abstract-method]
+ ERROR ibis/formats/__init__.py:251:9-18: `TableProxy.to_polars` is decorated with `@abstractmethod` but `TableProxy` is not an abstract class [invalid-abstract-method]

zulip (https://github.com/zulip/zulip)
+ ERROR zproject/backends.py:3500:9-20: `SAMLDocument.get_issuers` is decorated with `@abstractmethod` but `SAMLDocument` is not an abstract class [invalid-abstract-method]

sockeye (https://github.com/awslabs/sockeye)
+ ERROR sockeye/data_io.py:1678:9-14: `BaseParallelSampleIter.reset` is decorated with `@abstractmethod` but `BaseParallelSampleIter` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/data_io.py:1682:9-18: `BaseParallelSampleIter.iter_next` is decorated with `@abstractmethod` but `BaseParallelSampleIter` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/data_io.py:1686:9-13: `BaseParallelSampleIter.next` is decorated with `@abstractmethod` but `BaseParallelSampleIter` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/data_io.py:1693:9-19: `BaseParallelSampleIter.save_state` is decorated with `@abstractmethod` but `BaseParallelSampleIter` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/data_io.py:1697:9-19: `BaseParallelSampleIter.load_state` is decorated with `@abstractmethod` but `BaseParallelSampleIter` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/decoder.py:93:9-17: `Decoder.__init__` is decorated with `@abstractmethod` but `Decoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/decoder.py:97:9-27: `Decoder.set_inference_only` is decorated with `@abstractmethod` but `Decoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/decoder.py:101:9-24: `Decoder.state_structure` is decorated with `@abstractmethod` but `Decoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/decoder.py:105:9-32: `Decoder.init_state_from_encoder` is decorated with `@abstractmethod` but `Decoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/decoder.py:112:9-19: `Decoder.decode_seq` is decorated with `@abstractmethod` but `Decoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/decoder.py:124:9-23: `Decoder.get_num_hidden` is decorated with `@abstractmethod` but `Decoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/encoder.py:43:9-23: `Encoder.get_num_hidden` is decorated with `@abstractmethod` but `Encoder` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/layers.py:405:9-26: `AutoregressiveLayer.num_state_tensors` is decorated with `@abstractmethod` but `AutoregressiveLayer` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/layers.py:411:9-19: `AutoregressiveLayer.needs_mask` is decorated with `@abstractmethod` but `AutoregressiveLayer` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/layers.py:416:9-24: `AutoregressiveLayer.get_state_shape` is decorated with `@abstractmethod` but `AutoregressiveLayer` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/layers.py:424:9-27: `AutoregressiveLayer.set_inference_only` is decorated with `@abstractmethod` but `AutoregressiveLayer` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/layers.py:431:9-16: `AutoregressiveLayer.forward` is decorated with `@abstractmethod` but `AutoregressiveLayer` is not an abstract class [invalid-abstract-method]
+ ERROR sockeye/loss.py:66:9-22: `Loss.create_metric` is decorated with `@abstractmethod` but `Loss` is not an abstract class [invalid-abstract-method]

anyio (https://github.com/agronholm/anyio)
+ ERROR src/anyio/_core/_contextmanagers.py:95:9-27: `ContextManagerMixin.__contextmanager__` is decorated with `@abstractmethod` but `ContextManagerMixin` is not an abstract class [invalid-abstract-method]
+ ERROR src/anyio/_core/_contextmanagers.py:187:9-32: `AsyncContextManagerMixin.__asynccontextmanager__` is decorated with `@abstractmethod` but `AsyncContextManagerMixin` is not an abstract class [invalid-abstract-method]
+ ERROR src/anyio/abc/_sockets.py:174:9-20: `_SocketProvider._raw_socket` is decorated with `@abstractmethod` but `_SocketProvider` is not an abstract class [invalid-abstract-method]

pywin32 (https://github.com/mhammond/pywin32)
+ ERROR setup.py:243:9-24: `WinExt.get_pywin32_dir` is decorated with `@abstractmethod` but `WinExt` is not an abstract class [invalid-abstract-method]

hydpy (https://github.com/hydpy-dev/hydpy)
+ ERROR hydpy/auxs/interptools.py:65:9-25: `InterpAlgorithm.calculate_values` is decorated with `@abstractmethod` but `InterpAlgorithm` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/auxs/interptools.py:69:9-30: `InterpAlgorithm.calculate_derivatives` is decorated with `@abstractmethod` but `InterpAlgorithm` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/auxs/interptools.py:74:9-15: `InterpAlgorithm.verify` is decorated with `@abstractmethod` but `InterpAlgorithm` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/auxs/interptools.py:79:9-19: `InterpAlgorithm.assignrepr` is decorated with `@abstractmethod` but `InterpAlgorithm` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/auxs/iuhtools.py:165:9-17: `IUH.__call__` is decorated with `@abstractmethod` but `IUH` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/auxs/iuhtools.py:195:9-34: `IUH.calc_secondary_parameters` is decorated with `@abstractmethod` but `IUH` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/devicetools.py:727:9-25: `Devices.get_contentclass` is decorated with `@abstractmethod` but `Devices` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/devicetools.py:1876:9-25: `Device.get_handlerclass` is decorated with `@abstractmethod` but `Device` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:2467:9-17: `Model.simulate` is decorated with `@abstractmethod` but `Model` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:3329:9-12: `RunModel.run` is decorated with `@abstractmethod` but `RunModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:3524:9-14: `SolverModel.solve` is decorated with `@abstractmethod` but `SolverModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4761:9-17: `ELSIEModel.stop_els` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4765:9-31: `ELSIEModel.adjust_backwards_error` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4771:9-22: `ELSIEModel.get_state_old` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4776:9-22: `ELSIEModel.set_state_old` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4781:9-22: `ELSIEModel.get_state_new` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4786:9-22: `ELSIEModel.set_state_new` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4791:9-22: `ELSIEModel.get_state_min` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/modeltools.py:4795:9-22: `ELSIEModel.get_state_max` is decorated with `@abstractmethod` but `ELSIEModel` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/propertytools.py:141:9-18: `BaseProperty.call_fget` is decorated with `@abstractmethod` but `BaseProperty` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/propertytools.py:145:9-18: `BaseProperty.call_fset` is decorated with `@abstractmethod` but `BaseProperty` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/propertytools.py:149:9-18: `BaseProperty.call_fdel` is decorated with `@abstractmethod` but `BaseProperty` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/testtools.py:413:9-30: `Test.raw_first_col_strings` is decorated with `@abstractmethod` but `Test` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/testtools.py:417:9-25: `Test.get_output_array` is decorated with `@abstractmethod` but `Test` is not an abstract class [invalid-abstract-method]
+ ERROR hydpy/core/variabletools.py:2490:9-13: `SubVariables.name` is decorated with `@abstractmethod` but `SubVariables` is not an abstract class [invalid-abstract-method]

dd-trace-py (https://github.com/DataDog/dd-trace-py)
+ ERROR ddtrace/_trace/filters.py:10:9-22: `TraceFilter.process_trace` is decorated with `@abstractmethod` but `TraceFilter` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/debugging/_signal/log.py:25:9-16: `LogSignal.message` is decorated with `@abstractmethod` but `LogSignal` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/debugging/_signal/log.py:30:9-20: `LogSignal.has_message` is decorated with `@abstractmethod` but `LogSignal` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/internal/datastreams/schemas/schema_iterator.py:6:9-28: `SchemaIterator.iterate_over_schema` is decorated with `@abstractmethod` but `SchemaIterator` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/llmobs/_integrations/base.py:50:9-28: `BaseLLMIntegration._set_base_span_tags` is decorated with `@abstractmethod` but `BaseLLMIntegration` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/llmobs/_integrations/base.py:114:9-25: `BaseLLMIntegration._llmobs_set_tags` is decorated with `@abstractmethod` but `BaseLLMIntegration` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/profiling/collector/pytorch.py:54:9-26: `MLProfilerCollector._get_patch_target` is decorated with `@abstractmethod` but `MLProfilerCollector` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/profiling/collector/pytorch.py:58:9-26: `MLProfilerCollector._set_patch_target` is decorated with `@abstractmethod` but `MLProfilerCollector` is not an abstract class [invalid-abstract-method]
+ ERROR ddtrace/testing/internal/http.py:108:9-36: `BackendConnectorSetup.get_connector_for_subdomain` is decorated with `@abstractmethod` but `BackendConnectorSetup` is not an abstract class [invalid-abstract-method]

pandas (https://github.com/pandas-dev/pandas)
+ ERROR pandas/errors/__init__.py:122:9-16: `PandasChangeWarning.version` is decorated with `@abstractmethod` but `PandasChangeWarning` is not an abstract class [invalid-abstract-method]
+ ERROR pandas/io/formats/info.py:331:9-30: `_InfoPrinterAbstract._create_table_builder` is decorated with `@abstractmethod` but `_InfoPrinterAbstract` is not an abstract class [invalid-abstract-method]

mypy (https://github.com/python/mypy)
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:54:9-21: `Container.__contains__` is decorated with `@abstractmethod` but `Container` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:59:9-16: `Sized.__len__` is decorated with `@abstractmethod` but `Sized` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:64:9-17: `Iterable.__iter__` is decorated with `@abstractmethod` but `Iterable` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:69:9-17: `Iterator.__next__` is decorated with `@abstractmethod` but `Iterator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:73:9-13: `Generator.send` is decorated with `@abstractmethod` but `Generator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:76:9-14: `Generator.throw` is decorated with `@abstractmethod` but `Generator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:79:9-14: `Generator.close` is decorated with `@abstractmethod` but `Generator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:82:9-17: `Generator.__iter__` is decorated with `@abstractmethod` but `Generator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:86:9-18: `AsyncGenerator.__anext__` is decorated with `@abstractmethod` but `AsyncGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:89:9-14: `AsyncGenerator.asend` is decorated with `@abstractmethod` but `AsyncGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:92:9-15: `AsyncGenerator.athrow` is decorated with `@abstractmethod` but `AsyncGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:95:9-15: `AsyncGenerator.aclose` is decorated with `@abstractmethod` but `AsyncGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:98:9-18: `AsyncGenerator.__aiter__` is decorated with `@abstractmethod` but `AsyncGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:103:9-18: `Awaitable.__await__` is decorated with `@abstractmethod` but `Awaitable` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:110:9-13: `Coroutine.send` is decorated with `@abstractmethod` but `Coroutine` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:113:9-14: `Coroutine.throw` is decorated with `@abstractmethod` but `Coroutine` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:116:9-14: `Coroutine.close` is decorated with `@abstractmethod` but `Coroutine` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:121:9-18: `AsyncIterable.__aiter__` is decorated with `@abstractmethod` but `AsyncIterable` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:127:9-18: `AsyncIterator.__anext__` is decorated with `@abstractmethod` but `AsyncIterator` is not an abstract class [invalid-abstract-method]
+ ERROR mypyc/test-data/fixtures/typing-full.pyi:131:9-20: `Sequence.__getitem__` is decorated with `@abstractmethod` but `Sequence` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:54:9-15: `ExpressionCheckerSharedApi.accept` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:65:9-25: `ExpressionCheckerSharedApi.analyze_ref_expr` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:69:9-19: `ExpressionCheckerSharedApi.check_call` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:84:9-30: `ExpressionCheckerSharedApi.transform_callee_type` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:97:9-24: `ExpressionCheckerSharedApi.method_fullname` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:101:9-34: `ExpressionCheckerSharedApi.check_method_call_by_name` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:113:9-35: `ExpressionCheckerSharedApi.visit_typeddict_index_expr` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:119:9-32: `ExpressionCheckerSharedApi.infer_literal_expr_type` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:123:9-33: `ExpressionCheckerSharedApi.analyze_static_reference` is decorated with `@abstractmethod` but `ExpressionCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:145:9-21: `TypeCheckerSharedApi.expr_checker` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:149:9-19: `TypeCheckerSharedApi.named_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:153:9-24: `TypeCheckerSharedApi.lookup_typeinfo` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:157:9-20: `TypeCheckerSharedApi.lookup_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:161:9-37: `TypeCheckerSharedApi.handle_cannot_determine_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:165:9-32: `TypeCheckerSharedApi.handle_partial_var_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:172:9-22: `TypeCheckerSharedApi.check_subtype` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:219:9-26: `TypeCheckerSharedApi.get_final_context` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:224:9-44: `TypeCheckerSharedApi.conditional_types_with_intersection` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:250:9-41: `TypeCheckerSharedApi.narrow_type_by_identity_equality` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:261:9-25: `TypeCheckerSharedApi.check_deprecated` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:265:9-24: `TypeCheckerSharedApi.warn_deprecated` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:269:9-25: `TypeCheckerSharedApi.type_is_iterable` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:273:9-27: `TypeCheckerSharedApi.iterable_item_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:280:9-27: `TypeCheckerSharedApi.checking_await_set` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:284:9-35: `TypeCheckerSharedApi.get_precise_awaitable_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:288:9-34: `TypeCheckerSharedApi.add_any_attribute_to_type` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/checker_shared.py:292:9-27: `TypeCheckerSharedApi.is_defined_in_stub` is decorated with `@abstractmethod` but `TypeCheckerSharedApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/ipc.py:488:9-13: `IPCMessage.read` is decorated with `@abstractmethod` but `IPCMessage` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/ipc.py:492:9-14: `IPCMessage.write` is decorated with `@abstractmethod` but `IPCMessage` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:32:9-17: `MetadataStore.getmtime` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:39:9-13: `MetadataStore.read` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:46:9-14: `MetadataStore.write` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:56:9-15: `MetadataStore.remove` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:60:9-15: `MetadataStore.commit` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:77:9-17: `MetadataStore.list_all` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/metastore.py:80:9-14: `MetadataStore.close` is decorated with `@abstractmethod` but `MetadataStore` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/nodes.py:289:9-13: `SymbolNode.name` is decorated with `@abstractmethod` but `SymbolNode` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/nodes.py:295:9-17: `SymbolNode.fullname` is decorated with `@abstractmethod` but `SymbolNode` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/nodes.py:299:9-18: `SymbolNode.serialize` is decorated with `@abstractmethod` but `SymbolNode` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/nodes.py:768:9-13: `FuncBase.name` is decorated with `@abstractmethod` but `FuncBase` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:172:9-13: `TypeAnalyzerPluginInterface.fail` is decorated with `@abstractmethod` but `TypeAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:177:9-19: `TypeAnalyzerPluginInterface.named_type` is decorated with `@abstractmethod` but `TypeAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:182:9-21: `TypeAnalyzerPluginInterface.analyze_type` is decorated with `@abstractmethod` but `TypeAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:187:9-30: `TypeAnalyzerPluginInterface.analyze_callable_args` is decorated with `@abstractmethod` but `TypeAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:214:9-31: `CommonPluginApi.lookup_fully_qualified` is decorated with `@abstractmethod` but `CommonPluginApi` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:238:9-21: `CheckerPluginInterface.type_context` is decorated with `@abstractmethod` but `CheckerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:243:9-13: `CheckerPluginInterface.fail` is decorated with `@abstractmethod` but `CheckerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:250:9-27: `CheckerPluginInterface.named_generic_type` is decorated with `@abstractmethod` but `CheckerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:255:9-28: `CheckerPluginInterface.get_expression_type` is decorated with `@abstractmethod` but `CheckerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:277:9-19: `SemanticAnalyzerPluginInterface.named_type` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:282:9-21: `SemanticAnalyzerPluginInterface.builtin_type` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:288:9-27: `SemanticAnalyzerPluginInterface.named_type_or_none` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:298:9-27: `SemanticAnalyzerPluginInterface.basic_new_typeinfo` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:302:9-19: `SemanticAnalyzerPluginInterface.parse_bool` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:307:9-26: `SemanticAnalyzerPluginInterface.parse_str_literal` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:311:9-13: `SemanticAnalyzerPluginInterface.fail` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:324:9-18: `SemanticAnalyzerPluginInterface.anal_type` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:343:9-19: `SemanticAnalyzerPluginInterface.class_type` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:348:9-31: `SemanticAnalyzerPluginInterface.lookup_fully_qualified` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:356:9-39: `SemanticAnalyzerPluginInterface.lookup_fully_qualified_or_none` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:364:9-25: `SemanticAnalyzerPluginInterface.lookup_qualified` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:374:9-30: `SemanticAnalyzerPluginInterface.add_plugin_dependency` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:392:9-30: `SemanticAnalyzerPluginInterface.add_symbol_table_node` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:397:9-23: `SemanticAnalyzerPluginInterface.qualified_name` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:402:9-14: `SemanticAnalyzerPluginInterface.defer` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:411:9-24: `SemanticAnalyzerPluginInterface.final_iteration` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:417:9-21: `SemanticAnalyzerPluginInterface.is_stub_file` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/plugin.py:421:9-36: `SemanticAnalyzerPluginInterface.analyze_simple_literal_type` is decorated with `@abstractmethod` but `SemanticAnalyzerPluginInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:75:9-25: `SemanticAnalyzerCoreInterface.lookup_qualified` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:81:9-31: `SemanticAnalyzerCoreInterface.lookup_fully_qualified` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:85:9-39: `SemanticAnalyzerCoreInterface.lookup_fully_qualified_or_none` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:89:9-26: `SemanticAnalyzerCoreInterface.record_fixed_type` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:93:9-13: `SemanticAnalyzerCoreInterface.fail` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:105:9-13: `SemanticAnalyzerCoreInterface.note` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:109:9-35: `SemanticAnalyzerCoreInterface.incomplete_feature_enabled` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:113:9-30: `SemanticAnalyzerCoreInterface.record_incomplete_ref` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:117:9-14: `SemanticAnalyzerCoreInterface.defer` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:121:9-32: `SemanticAnalyzerCoreInterface.is_incomplete_namespace` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:127:9-24: `SemanticAnalyzerCoreInterface.final_iteration` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:132:9-27: `SemanticAnalyzerCoreInterface.is_future_flag_set` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:138:9-21: `SemanticAnalyzerCoreInterface.is_stub_file` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:142:9-22: `SemanticAnalyzerCoreInterface.is_func_scope` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:146:9-36: `SemanticAnalyzerCoreInterface.is_nested_within_func_scope` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:151:9-13: `SemanticAnalyzerCoreInterface.type` is decorated with `@abstractmethod` but `SemanticAnalyzerCoreInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:169:9-15: `SemanticAnalyzerInterface.lookup` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:175:9-19: `SemanticAnalyzerInterface.named_type` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:179:9-27: `SemanticAnalyzerInterface.named_type_or_none` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:183:9-15: `SemanticAnalyzerInterface.accept` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:187:9-18: `SemanticAnalyzerInterface.anal_type` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:204:9-31: `SemanticAnalyzerInterface.get_and_bind_all_tvars` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:208:9-27: `SemanticAnalyzerInterface.basic_new_typeinfo` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:212:9-23: `SemanticAnalyzerInterface.schedule_patch` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:216:9-30: `SemanticAnalyzerInterface.add_symbol_table_node` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:221:9-29: `SemanticAnalyzerInterface.current_symbol_table` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:229:9-19: `SemanticAnalyzerInterface.add_symbol` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:242:9-26: `SemanticAnalyzerInterface.add_global_symbol` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:247:9-19: `SemanticAnalyzerInterface.parse_bool` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:251:9-23: `SemanticAnalyzerInterface.qualified_name` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:256:9-30: `SemanticAnalyzerInterface.is_typeshed_stub_file` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/semanal_shared.py:260:9-28: `SemanticAnalyzerInterface.process_placeholder` is decorated with `@abstractmethod` but `SemanticAnalyzerInterface` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/stubutil.py:436:9-25: `SignatureGenerator.get_function_sig` is decorated with `@abstractmethod` but `SignatureGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/stubutil.py:447:9-26: `SignatureGenerator.get_property_type` is decorated with `@abstractmethod` but `SignatureGenerator` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/test/data.py:847:9-17: `DataSuite.run_case` is decorated with `@abstractmethod` but `DataSuite` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/type_visitor.py:67:9-27: `TypeVisitor.visit_unbound_type` is decorated with `@abstractmethod` but `TypeVisitor` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/type_visitor.py:71:9-18: `TypeVisitor.visit_any` is decorated with `@abstractmethod` but `TypeVisitor` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/type_visitor.py:75:9-24: `TypeVisitor.visit_none_type` is decorated with `@abstractmethod` but `TypeVisitor` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/type_visitor.py:79:9-31: `TypeVisitor.visit_uninhabited_type` is decorated with `@abstractmethod` but `TypeVisitor` is not an abstract class [invalid-abstract-method]
+ ERROR mypy/type_visitor.py:83:9-26: `TypeVisitor.visit_erased_type` is decorated with `@abstractmethod` but `TypeVisitor` is not an abstract class [invalid-abstract-method]

... (truncated 334 lines) ...

meson (https://github.com/mesonbuild/meson)
+ ERROR mesonbuild/build.py:676:9-20: `Target.type_suffix` is decorated with `@abstractmethod` but `Target` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/build.py:1978:9-12: `LinkableTarget.get` is decorated with `@abstractmethod` but `LinkableTarget` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/compilers/compilers.py:679:9-24: `Compiler.get_output_args` is decorated with `@abstractmethod` but `Compiler` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/compilers/compilers.py:1448:9-34: `Compiler._sanity_check_source_code` is decorated with `@abstractmethod` but `Compiler` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/compilers/compilers.py:1533:9-30: `Compiler.get_optimization_args` is decorated with `@abstractmethod` but `Compiler` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/compilers/mixins/gnu.py:385:9-30: `GnuLikeCompiler.get_optimization_args` is decorated with `@abstractmethod` but `GnuLikeCompiler` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/compilers/mixins/gnu.py:392:9-23: `GnuLikeCompiler.get_pch_suffix` is decorated with `@abstractmethod` but `GnuLikeCompiler` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/compilers/mixins/gnu.py:405:9-21: `GnuLikeCompiler.openmp_flags` is decorated with `@abstractmethod` but `GnuLikeCompiler` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/dependencies/qt.py:247:9-32: `QtPkgConfigDependency.get_pkgconfig_host_bins` is decorated with `@abstractmethod` but `QtPkgConfigDependency` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/dependencies/qt.py:252:9-36: `QtPkgConfigDependency.get_pkgconfig_host_libexecs` is decorated with `@abstractmethod` but `QtPkgConfigDependency` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/dependencies/qt.py:256:9-29: `QtPkgConfigDependency.get_private_includes` is decorated with `@abstractmethod` but `QtPkgConfigDependency` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/dependencies/qt.py:368:9-29: `QmakeQtDependency.get_private_includes` is decorated with `@abstractmethod` but `QmakeQtDependency` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/interpreterbase/decorators.py:669:9-22: `FeatureCheckBase.check_version` is decorated with `@abstractmethod` but `FeatureCheckBase` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/interpreterbase/decorators.py:870:9-28: `FeatureCheckKwargsBase.feature_check_class` is decorated with `@abstractmethod` but `FeatureCheckKwargsBase` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/linkers/linkers.py:263:9-24: `DynamicLinker.get_output_args` is decorated with `@abstractmethod` but `DynamicLinker` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/linkers/linkers.py:273:9-24: `DynamicLinker.get_search_args` is decorated with `@abstractmethod` but `DynamicLinker` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/mdist.py:138:9-20: `Dist.create_dist` is decorated with `@abstractmethod` but `Dist` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:38:9-14: `Program.found` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:42:9-20: `Program.get_version` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:46:9-20: `Program.get_command` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:50:9-17: `Program.get_path` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:54:9-17: `Program.get_name` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:58:9-17: `Program.runnable` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/programs.py:62:9-20: `Program.description` is decorated with `@abstractmethod` but `Program` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:34:9-26: `SampleImpl.create_executable` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:38:9-23: `SampleImpl.create_library` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:43:9-21: `SampleImpl.exe_template` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:48:9-27: `SampleImpl.exe_meson_template` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:53:9-21: `SampleImpl.lib_template` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:58:9-26: `SampleImpl.lib_test_template` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:63:9-27: `SampleImpl.lib_meson_template` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:68:9-19: `SampleImpl.source_ext` is decorated with `@abstractmethod` but `SampleImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:204:9-19: `FileHeaderImpl.header_ext` is decorated with `@abstractmethod` but `FileHeaderImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/templates/sampleimpl.py:209:9-28: `FileHeaderImpl.lib_header_template` is decorated with `@abstractmethod` but `FileHeaderImpl` is not an abstract class [invalid-abstract-method]
+ ERROR mesonbuild/utils/universal.py:349:9-27: `SecondLevelHolder.get_default_object` is decorated with `@abstractmethod` but `SecondLevelHolder` is not an abstract class [invalid-abstract-method]
+ ERROR unittests/internaltests.py:89:17-20: `A.foo` is decorated with `@abstractmethod` but `A` is not an abstract class [invalid-abstract-method]
+ ERROR unittests/internaltests.py:96:17-20: `B.bar` is decorated with `@abstractmethod` but `B` is not an abstract class [invalid-abstract-method]

core (https://github.com/home-assistant/core)
+ ERROR homeassistant/components/comelit/coordinator.py:128:15-40: `ComelitBaseCoordinator._async_update_system_data` is decorated with `@abstractmethod` but `ComelitBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/habitica/coordinator.py:88:15-27: `HabiticaBaseCoordinator._update_data` is decorated with `@abstractmethod` but `HabiticaBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/lamarzocco/coordinator.py:129:15-42: `LaMarzoccoUpdateCoordinator._internal_async_update_data` is decorated with `@abstractmethod` but `LaMarzoccoUpdateCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/mealie/coordinator.py:82:15-37: `MealieDataUpdateCoordinator._async_update_internal` is decorated with `@abstractmethod` but `MealieDataUpdateCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/ntfy/coordinator.py:60:15-32: `BaseDataUpdateCoordinator.async_update_data` is decorated with `@abstractmethod` but `BaseDataUpdateCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/ohme/coordinator.py:65:15-36: `OhmeBaseCoordinator._internal_update_data` is decorated with `@abstractmethod` but `OhmeBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/paperless_ngx/coordinator.py:89:15-42: `PaperlessCoordinator._async_update_data_internal` is decorated with `@abstractmethod` but `PaperlessCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/playstation_network/coordinator.py:75:15-26: `PlayStationNetworkBaseCoordinator.update_data` is decorated with `@abstractmethod` but `PlayStationNetworkBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/portainer/coordinator.py:152:15-26: `PortainerBaseCoordinator.update_data` is decorated with `@abstractmethod` but `PortainerBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/recorder/tasks.py:35:9-12: `RecorderTask.run` is decorated with `@abstractmethod` but `RecorderTask` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/smlight/coordinator.py:123:15-36: `SmBaseDataUpdateCoordinator._internal_update_data` is decorated with `@abstractmethod` but `SmBaseDataUpdateCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/telegram_bot/bot.py:154:15-23: `BaseTelegramBot.shutdown` is decorated with `@abstractmethod` but `BaseTelegramBot` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/tts/legacy.py:217:9-28: `Provider.supported_languages` is decorated with `@abstractmethod` but `Provider` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/volvo/coordinator.py:204:15-41: `VolvoBaseCoordinator._async_determine_api_calls` is decorated with `@abstractmethod` but `VolvoBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/withings/coordinator.py:90:15-36: `WithingsDataUpdateCoordinator._internal_update_data` is decorated with `@abstractmethod` but `WithingsDataUpdateCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/xbox/coordinator.py:82:15-26: `XboxBaseCoordinator.update_data` is decorated with `@abstractmethod` but `XboxBaseCoordinator` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/components/zha/config_flow.py:185:15-40: `BaseZhaFlow._async_create_radio_entry` is decorated with `@abstractmethod` but `BaseZhaFlow` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:282:15-35: `StorageCollection._process_create_data` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:287:9-26: `StorageCollection._get_suggested_id` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:291:15-27: `StorageCollection._update_data` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:295:9-21: `StorageCollection._create_item` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:299:9-26: `StorageCollection._deserialize_item` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:303:9-24: `StorageCollection._serialize_item` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/collection.py:383:9-22: `StorageCollection._data_to_save` is decorated with `@abstractmethod` but `StorageCollection` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/intent.py:1003:9-31: `DynamicServiceIntentHandler.get_domain_and_service` is decorated with `@abstractmethod` but `DynamicServiceIntentHandler` is not an abstract class [invalid-abstract-method]
+ ERROR homeassistant/helpers/llm.py:220:15-25: `Tool.async_call` is decorated with `@abstractmethod` but `Tool` is not an abstract class [invalid-abstract-method]

xarray (https://github.com/pydata/xarray)
+ ERROR xarray/tests/test_namedarray.py:131:9-12: `NamedArraySubclassobjects.cls` is decorated with `@abstractmethod` but `NamedArraySubclassobjects` is not an abstract class [invalid-abstract-method]

parso (https://github.com/davidhalter/parso)
+ ERROR parso/tree.py:148:9-32: `NodeOrLeaf.get_start_pos_of_prefix` is decorated with `@abstractmethod` but `NodeOrLeaf` is not an abstract class [invalid-abstract-method]
+ ERROR parso/tree.py:159:9-23: `NodeOrLeaf.get_first_leaf` is decorated with `@abstractmethod` but `NodeOrLeaf` is not an abstract class [invalid-abstract-method]
+ ERROR parso/tree.py:165:9-22: `NodeOrLeaf.get_last_leaf` is decorated with `@abstractmethod` but `NodeOrLeaf` is not an abstract class [invalid-abstract-method]
+ ERROR parso/tree.py:171:9-17: `NodeOrLeaf.get_code` is decorated with `@abstractmethod` but `NodeOrLeaf` is not an abstract class [invalid-abstract-method]

kornia (https://github.com/kornia/kornia)

... (truncated 87 lines) ...```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

2 participants