Skip to content

fix decorated class not transformed #1180 - #2294

Open
asukaminato0721 wants to merge 8 commits into
pyrefly-org:mainfrom
asukaminato0721:1180
Open

asukaminato0721 wants to merge 8 commits into
pyrefly-org:mainfrom
asukaminato0721:1180

Conversation

@asukaminato0721

@asukaminato0721 asukaminato0721 commented Feb 3, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Fixes #1180

Applied class decorators when computing class definition types, mirroring Python’s bottom‑up decorator application.

Test Plan

Updated the class decorator test to use cls: type, matching the issue repro.

@github-actions

This comment has been minimized.

@asukaminato0721
asukaminato0721 marked this pull request as ready for review February 3, 2026 09:32
@asukaminato0721
asukaminato0721 marked this pull request as draft February 3, 2026 11:44
@github-actions

This comment has been minimized.

@asukaminato0721
asukaminato0721 marked this pull request as ready for review February 3, 2026 13:05
@yangdanny97

Copy link
Copy Markdown
Collaborator

The delta looks good overall, tho @rchen152 and @migeed-z may be interested in the django-stubs regression

@migeed-z

migeed-z commented Feb 3, 2026

Copy link
Copy Markdown
Contributor

The delta looks good overall, tho @rchen152 and @migeed-z may be interested in the django-stubs regression

Happy to review and take a closer look

@migeed-z migeed-z self-assigned this Feb 3, 2026
@github-actions

This comment has been minimized.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes issue #1180 where class decorators that transform the class type were not being applied. Previously, decorated classes always retained their type[ClassName] type, ignoring the decorator's return type. Now, decorators are properly applied during class definition type resolution, mirroring Python's bottom-up decorator semantics.

Changes:

  • Added type transformation logic for class decorators during binding resolution
  • Implemented apply_class_decorator method to handle decorator application with special cases for class-preserving decorators
  • Added is_bootstrapping() helper to check stdlib initialization state

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
pyrefly/lib/test/decorators.rs Added test case verifying that a class decorator returning int transforms the class type from type[C] to int
pyrefly/lib/alt/solve.rs Updated ClassDef binding resolution to iterate through decorators and apply them bottom-up to the class type
pyrefly/lib/alt/function.rs Implemented apply_class_decorator method that handles decorator application, preserving class type for special decorators like @dataclass, @final, etc.
crates/pyrefly_types/src/stdlib.rs Added is_bootstrapping() method to check if stdlib is still initializing

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

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions github-actions Bot added the stale label Apr 14, 2026
@jvdillon

jvdillon commented Oct 19, 2026 •

Copy link
Copy Markdown

Pyright / ty compatibility mode is the best default, even if it is less principled, because consistency with the ecosystem is a big concern for our default behavior.

100% agree. Analogous conversation from ty land: astral-sh/ty#143

@github-actions

This comment was marked as outdated.

@kinto0

kinto0 commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

would love to merge this. I think all that's left is the settings for it?

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@stroxler stroxler left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm taking myself off as a reviewer because @kinto0 is trying to drive this to completion, and I need to focus on other parts of the backlog.

That said, the mypy primer results now look pretty bad, whereas before they looked good: I think something must have gone wrong in the most recent iteration. Probably worth a look from you @asukaminato0721 before we put this in Kyle's review queue


Also am confused by the website build errors. It surprised me to see them. but they do kind of look like actual compile errors. No idea why there would be a wasm-specific problem here - maybe a config struct is out of sync or something?

@github-actions

This comment was marked as outdated.

@github-actions

This comment has been minimized.

@kinto0

kinto0 commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Thanks! Most of the latest primer regression (+29k, mostly spack/core/pandera) looks like untyped class decorators turning the class into Unknown. Can you add the flag @stroxler proposed (ignore = mypy, typed-only = Pyright/ty, ignore untyped decorators, all), default to typed-only, add tests for each mode, and re-run the primer?

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@connernilsen connernilsen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey Asuka, thanks for working on this! The main suggestions are:

  • f(x: type) -> type is a common pattern, but we shouldn't erase the type there
  • explicit -> type[Any] is used to erase types intentionally, but it doesn't
  • we should disable this in basic and legacy modes

Re-request my review when you're ready again, and I'll come take a look!

Comment thread pyrefly/lib/alt/function.rs Resolved
Comment thread pyrefly/lib/alt/function.rs Resolved
Comment thread crates/pyrefly_config/src/base.rs Resolved
Comment thread pyrefly/lib/alt/function.rs Resolved
Comment thread crates/pyrefly_config/src/base.rs Resolved
Comment thread pyrefly/lib/alt/solve.rs Resolved
Comment thread pyrefly/lib/alt/function.rs Resolved
Comment thread website/docs/configuration.mdx Resolved
Comment on lines +72 to +73
/// Apply all decorators, including those that return `Any` or `Unknown`.
All,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this worth having, would we want to use an untyped decorator to turn a class in to Any/Unknown?

{
// Self-references in class annotations refer to the undecorated class. Depending on
// its decorated value would create a cycle when a decorator's signature uses it.
Binding::ClassDef(*class_idx, Box::new([]))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It seems to be needed only for the class's own decorators. Turning it off breaks only the two tests where a decorator names its class, but as it is now, it applies to class level annotations and not methods:

def to_wrapper(cls: type) -> Callable[[], int]: ...

@to_wrapper
class C:
    other: "C"               # refers to the undecorated class, no error
    def clone(self) -> "C":  # not-a-type: refers to the decorated value

Could we limit it to decorator expressions, update the comment, and add a test for annotations in teh class body?

@github-actions

This comment has been minimized.

@connernilsen connernilsen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay, this is looking close! Just one more combined issue (and a rebase), and I think we'll be good to start working on landing it

Comment thread pyrefly/lib/alt/function.rs Resolved
@github-actions

This comment has been minimized.

@connernilsen connernilsen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for working on this @asukaminato0721! The content in this PR looks good, but an important internal test is failing. I'm trying to figure out exactly what's going on, and see if it's something requiring a big change, or if I can just patch it myself. I'll let you know what we'll do next

@connernilsen

Copy link
Copy Markdown
Contributor

It looks like with this example, we panic on some of the new code.

#[test]
fn test_callees_class_decorator_returns_optional() {
    let tdir = TempDir::new().unwrap();
    let file_path = tdir.path().join("main.py");
    // A class decorator annotated to return `Optional[C]` makes the class name
    // `type[Foo] | None`, so the constructor call's callee type includes `None`.
    let code = r#"
from typing import Optional, TypeVar

C = TypeVar("C")

def register(cls: C) -> Optional[C]:
    return cls

@register
class Foo: ...

Foo()
"#;
    fs_anyhow::write(&file_path, code).unwrap();

    let query = create_query();
    let module_name = ModuleName::from_str("main");
    let path = ModulePath::filesystem(file_path.clone());
    query.add_files(vec![(module_name, path.clone())]);

    // get_callees_with_location must not panic on the `None` member of the union.
    let callees = query
        .get_callees_with_location(module_name, path, None)
        .unwrap();
    assert!(
        callees.iter().any(|(_, c)| c.target == "builtins.object.__init__"),
        "{callees:?}"
    );
}

A fix is to handle None the same way as Never in callee_from_type. I'm going to just apply it myself internally since it's a pretty easy fix, but you may need to do it yourself too if there are further followups for you to address

@kinto0 kinto0 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review automatically exported from Phabricator review in Meta.

@github-actions

Copy link
Copy Markdown

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

============================================================
SUMMARY
============================================================
Total: +3003 new errors, -270 fixed errors
By preset: +115/-6 (default), +115/-8 (strict)

Projects with changes (11):
  jax: +1 -0
  spark: +1 -0
  asynq: +0 -4
  pandera: +260 -179
  zulip: +27 -18
  steam.py: +1 -4
  antidote: +0 -1
  pandas: +0 -8
  sphinx: +0 -1
  core: +2707 -53
  spack: +6 -2
============================================================

FULL DIFF DETAILS
------------------------------------------------------------

jax (https://github.com/google/jax)
+ ERROR jax/experimental/array_serialization/serialization_test.py:960:5-35: `UserPytreeAPITest.test_custom_node_registration.P` is not assignable to upper bound `Hashable` of type variable `H` [bad-specialization]

spark (https://github.com/apache/spark)
+ ERROR python/pyspark/testing/tests/test_skip_class.py:20:1-15: Argument `type[SkipClassTests]` is not assignable to parameter `reason` with type `str` in function `unittest.case.skip` [bad-argument-type]

asynq (https://github.com/quora/asynq)
- ERROR asynq/tests/test_mock.py:188:1-46: Untyped class decorator may modify `TestMockAsyncClassDecorator` in unexpected ways [untyped-class-decorator]
- ERROR asynq/tests/test_mock.py:189:1-51: Untyped class decorator may modify `TestMockAsyncClassDecorator` in unexpected ways [untyped-class-decorator]
- ERROR asynq/tests/test_mock.py:203:1-58: Untyped class decorator may modify `TestMockAsyncClassDecoratorWithNew` in unexpected ways [untyped-class-decorator]
- ERROR asynq/tests/test_mock.py:204:1-78: Untyped class decorator may modify `TestMockAsyncClassDecoratorWithNew` in unexpected ways [untyped-class-decorator]

pandera (https://github.com/pandera-dev/pandera)
+ ERROR pandera/api/pandas/array.py:29:35-62: Expected class object, got `(...) -> Unknown` [invalid-argument]
+ ERROR pandera/api/pandas/array.py:29:49-62: The type of attribute `PydanticModel` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR pandera/api/pandas/container.py:71:25-52: Expected class object, got `(...) -> Unknown` [invalid-argument]
+ ERROR pandera/api/pandas/container.py:71:39-52: The type of attribute `PydanticModel` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR pandera/api/pandas/container.py:74:51-55: The type of this argument is unknown because it comes from an error [unknown-from-error]
+ ERROR pandera/api/pandas/container.py:75:29-52: Object of class `DataType` has no attribute `column_names` [missing-attribute]
+ ERROR pandera/api/polars/model.py:289:39-55: Expected class object, got `(...) -> Unknown` [invalid-argument]
+ ERROR pandera/api/polars/model.py:289:42-55: The type of attribute `PydanticModel` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR pandera/api/polars/model.py:290:44-75: Object of class `DataType` has no attribute `_get_polars_schema` [missing-attribute]
+ ERROR pandera/backends/pandas/container.py:254:35-62: Expected class object, got `(...) -> Unknown` [invalid-argument]
+ ERROR pandera/backends/pandas/container.py:254:49-62: The type of attribute `PydanticModel` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR pandera/dtypes.py:146:1-11: Untyped class decorator may modify `_Number` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:161:1-11: Untyped class decorator may modify `_PhysicalNumber` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:183:1-11: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:196:1-21: Untyped class decorator may modify `Int` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:221:1-11: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:228:1-11: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:235:1-11: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:242:1-11: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:254:1-11: Untyped class decorator may modify `UInt` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:267:1-11: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:275:1-11: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:283:1-11: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:291:1-11: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:304:1-21: Untyped class decorator may modify `Float` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:327:1-11: Untyped class decorator may modify `Float128` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:334:1-11: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:341:1-11: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:348:1-11: Untyped class decorator may modify `Float16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:360:1-21: Untyped class decorator may modify `Complex` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:381:1-11: Untyped class decorator may modify `Complex256` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:389:1-11: Untyped class decorator may modify `Complex128` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:397:1-11: Untyped class decorator may modify `Complex64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:417:1-22: Untyped class decorator may modify `Decimal` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:475:1-22: Untyped class decorator may modify `Category` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:507:1-11: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:520:1-11: Untyped class decorator may modify `Date` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:528:1-11: Untyped class decorator may modify `Timestamp` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:539:1-11: Untyped class decorator may modify `Timedelta` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:547:1-11: Untyped class decorator may modify `Time` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/dtypes.py:555:1-11: Untyped class decorator may modify `Binary` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/geopandas_engine.py:31:1-37:2: Untyped class decorator may modify `Geometry` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/geopandas_engine.py:38:1-29: Untyped class decorator may modify `Geometry` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:23:1-22: Untyped class decorator may modify `DataType` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:105:1-115:2: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:116:1-11: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:128:1-137:2: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:138:1-11: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:145:1-154:2: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:155:1-11: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:162:1-171:2: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:172:1-11: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:179:1-189:2: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:190:1-11: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:202:1-211:2: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:212:1-11: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:219:1-228:2: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:229:1-11: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:236:1-245:2: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:246:1-11: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:253:1-262:2: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:263:1-11: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:275:1-284:2: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:285:1-11: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:292:1-302:2: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:303:1-11: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:315:1-325:2: Untyped class decorator may modify `Decimal` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:326:1-22: Untyped class decorator may modify `Decimal` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:361:1-371:2: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:372:1-11: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:379:1-389:2: Untyped class decorator may modify `Binary` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:390:1-11: Untyped class decorator may modify `Binary` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:402:1-412:2: Untyped class decorator may modify `Date` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:413:1-11: Untyped class decorator may modify `Date` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:420:1-431:2: Untyped class decorator may modify `DateTime` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:432:1-22: Untyped class decorator may modify `DateTime` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:457:1-467:2: Untyped class decorator may modify `Time` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:468:1-11: Untyped class decorator may modify `Time` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:475:1-484:2: Untyped class decorator may modify `Timedelta` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:485:1-22: Untyped class decorator may modify `Timedelta` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/ibis_engine.py:506:1-511:2: Untyped class decorator may modify `Map` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/ibis_engine.py:512:1-22: Untyped class decorator may modify `Map` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:30:1-22: Untyped class decorator may modify `DataType` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:153:1-155:2: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:156:1-11: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:163:1-165:2: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:166:1-11: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:173:1-175:2: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:176:1-11: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:183:1-185:2: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:186:1-11: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:193:1-195:2: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:196:1-11: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:203:1-205:2: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:206:1-11: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:213:1-215:2: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:216:1-11: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:223:1-225:2: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:226:1-11: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:238:1-240:2: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:241:1-11: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:248:1-256:2: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:257:1-11: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:269:1-278:2: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:279:1-11: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:286:1-288:2: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:289:1-11: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:301:1-303:2: Untyped class decorator may modify `Date` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:304:1-11: Untyped class decorator may modify `Date` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:311:1-313:2: Untyped class decorator may modify `DateTime` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:314:1-22: Untyped class decorator may modify `DateTime` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:340:1-347:2: Untyped class decorator may modify `Duration` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:348:1-22: Untyped class decorator may modify `Duration` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:375:1-383:2: Untyped class decorator may modify `Categorical` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:384:1-11: Untyped class decorator may modify `Categorical` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:391:1-54: Untyped class decorator may modify `List` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:392:1-22: Untyped class decorator may modify `List` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/narwhals_engine.py:409:1-58: Untyped class decorator may modify `Struct` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/narwhals_engine.py:410:1-11: Untyped class decorator may modify `Struct` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:56:1-22: Untyped class decorator may modify `DataType` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:153:1-155:2: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:156:1-11: Untyped class decorator may modify `Bool` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:205:1-57: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:206:1-11: Untyped class decorator may modify `Int64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:212:1-57: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:213:1-11: Untyped class decorator may modify `Int32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:219:1-57: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:220:1-11: Untyped class decorator may modify `Int16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:226:1-56: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:227:1-11: Untyped class decorator may modify `Int8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:244:1-58: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:245:1-11: Untyped class decorator may modify `UInt64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:251:1-58: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:252:1-11: Untyped class decorator may modify `UInt32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:258:1-58: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:259:1-11: Untyped class decorator may modify `UInt16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:265:1-57: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:266:1-11: Untyped class decorator may modify `UInt8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:289:5-64: Untyped class decorator may modify `Float128` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:290:5-15: Untyped class decorator may modify `Float128` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:295:5-63: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:303:5-63: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:296:5-15: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:304:5-15: Untyped class decorator may modify `Float64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:310:1-59: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:311:1-11: Untyped class decorator may modify `Float32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:317:1-59: Untyped class decorator may modify `Float16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:318:1-11: Untyped class decorator may modify `Float16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:338:5-66: Untyped class decorator may modify `Complex256` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:339:5-15: Untyped class decorator may modify `Complex256` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:344:5-66: Untyped class decorator may modify `Complex128` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:345:5-15: Untyped class decorator may modify `Complex128` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:352:5-66: Untyped class decorator may modify `Complex128` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:353:5-15: Untyped class decorator may modify `Complex128` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:359:1-61: Untyped class decorator may modify `Complex64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:360:1-11: Untyped class decorator may modify `Complex64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:371:1-64: Untyped class decorator may modify `Bytes` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:382:1-68: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:372:1-11: Untyped class decorator may modify `Bytes` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:383:1-11: Untyped class decorator may modify `String` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:412:1-72: Untyped class decorator may modify `Object` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:425:1-432:2: Untyped class decorator may modify `DateTime64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:413:1-11: Untyped class decorator may modify `Object` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:433:1-11: Untyped class decorator may modify `DateTime64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/numpy_engine.py:438:1-445:2: Untyped class decorator may modify `Timedelta64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/numpy_engine.py:446:1-11: Untyped class decorator may modify `Timedelta64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:119:1-22: Untyped class decorator may modify `DataType` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:327:1-329:2: Untyped class decorator may modify `BOOL` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:330:1-11: Untyped class decorator may modify `BOOL` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:408:1-69: Untyped class decorator may modify `INT64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:409:1-11: Untyped class decorator may modify `INT64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:417:1-69: Untyped class decorator may modify `INT32` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:418:1-11: Untyped class decorator may modify `INT32` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:426:1-69: Untyped class decorator may modify `INT16` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:427:1-11: Untyped class decorator may modify `INT16` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:435:1-67: Untyped class decorator may modify `INT8` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:436:1-11: Untyped class decorator may modify `INT8` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:455:1-71: Untyped class decorator may modify `UINT64` in unexpected ways [untyped-class-decorator]
+ ERROR pandera/engines/pandas_engine.py:456:1-11: Untyped class decorator may modify `UINT64` in unexpected ways [untyped-class-decorator]
- ERROR pandera/engines/pandas_engine.py:464:1-71: Untyped class decorator may modify `UINT32` in unexpected ways [untyped-class-decorator]

... (truncated 259 lines) ...

zulip (https://github.com/zulip/zulip)
- ERROR zerver/tests/test_auth_backends.py:3133:52-92: The type of this argument is an explicit `Any` [explicit-any-use]
+ ERROR zerver/tests/test_auth_backends.py:3133:16-51: Class `ExternalAuthMethod` has no class attribute `get_data_from_redis` [missing-attribute]
- ERROR zerver/tests/test_auth_backends.py:3136:30-42: The type of this argument is an explicit `Any` [explicit-any-use]
- ERROR zerver/tests/test_auth_backends.py:3138:30-47: The type of this argument is an explicit `Any` [explicit-any-use]
+ ERROR zerver/tests/test_auth_backends.py:3136:30-42: The type of this argument is unknown because it comes from an error [unknown-from-error]
+ ERROR zerver/tests/test_auth_backends.py:3138:30-47: The type of this argument is unknown because it comes from an error [unknown-from-error]
+ ERROR zerver/tests/test_auth_backends.py:3737:37-70: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3770:37-70: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3803:33-66: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3823:33-66: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3835:33-66: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3847:33-66: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3893:29-62: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3919:29-62: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:3998:33-66: Class `ExternalAuthMethod` has no class attribute `put_data_in_redis` [missing-attribute]
+ ERROR zerver/tests/test_auth_backends.py:4173:17-34: Result of call expression is of type `ExternalAuthMethod` and is not used; assign to `_` if this is intentional [unused-call-result]
+ ERROR zerver/tests/test_auth_backends.py:4637:62-94: Class `ExternalAuthMethod` has no class attribute `ID_TOKEN_ISSUER` [missing-attribute]
- ERROR zerver/tests/test_auth_backends.py:4637:19-95: The type of `payload` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
- ERROR zerver/tests/test_auth_backends.py:4637:79-94: The type of attribute `ID_TOKEN_ISSUER` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR zerver/tests/test_auth_backends.py:5402:17-46: Result of call expression is of type `ExternalAuthMethod` and is not used; assign to `_` if this is intentional [unused-call-result]
+ ERROR zerver/views/auth.py:768:24-52: Class `ExternalAuthMethod` has no class attribute `check_config` [missing-attribute]
+ ERROR zerver/views/auth.py:772:24-64: Class `ExternalAuthMethod` has no class attribute `check_config` [missing-attribute]
+ ERROR zerver/views/auth.py:789:35-64: Class `ExternalAuthMethod` has no class attribute `check_config` [missing-attribute]
+ ERROR zproject/backends.py:3542:16-35: Object of class `ExternalAuthMethod` has no attribute `logger` [missing-attribute]
+ ERROR zproject/backends.py:3597:18-51: Object of class `ExternalAuthMethod` has no attribute `generate_saml_config` [missing-attribute]
- ERROR zproject/backends.py:3597:18-53: The type of `config` is unknown; it is inferred as an implicit `Any` [unknown-variable-type]
- ERROR zproject/backends.py:3597:31-51: The type of attribute `generate_saml_config` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR zproject/backends.py:3615:18-51: Object of class `ExternalAuthMethod` has no attribute `generate_saml_config` [missing-attribute]
- ERROR zproject/backends.py:3615:18-53: The type of `config` is unknown; it is inferred as an implicit `Any` [unknown-variable-type]
- ERROR zproject/backends.py:3615:31-51: The type of attribute `generate_saml_config` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR zproject/backends.py:3637:18-51: Object of class `ExternalAuthMethod` has no attribute `generate_saml_config` [missing-attribute]
- ERROR zproject/backends.py:3637:18-53: The type of `config` is unknown; it is inferred as an implicit `Any` [unknown-variable-type]
- ERROR zproject/backends.py:3637:31-51: The type of attribute `generate_saml_config` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
+ ERROR zproject/backends.py:4619:27-59: Object of class `ExternalAuthMethod` has no attribute `strategy` [missing-attribute]
+ ERROR zproject/backends.py:4621:15-46: Object of class `ExternalAuthMethod` has no attribute `get_idp` [missing-attribute]
+ ERROR zproject/backends.py:4622:16-57: Object of class `ExternalAuthMethod` has no attribute `_create_saml_auth` [missing-attribute]
- ERROR zproject/backends.py:4619:51-59: The type of attribute `strategy` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
- ERROR zproject/backends.py:4622:16-62: The type of `auth` is unknown; it is inferred as an implicit `Any` [unknown-variable-type]
- ERROR zproject/backends.py:4622:40-57: The type of attribute `_create_saml_auth` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
- ERROR zproject/backends.py:4623:14-25: The type of attribute `process_slo` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
- ERROR zproject/backends.py:4624:18-35: The type of `errors` is unknown; it is inferred as an implicit `Any` [unknown-variable-type]
- ERROR zproject/backends.py:4624:23-33: The type of attribute `get_errors` is unknown; it is inferred as an implicit `Any` [unknown-attribute-access]
- ERROR zproject/backends.py:4631:40-48: The type of attribute `strategy` is unknown because it comes from an error [unknown-from-error]
+ ERROR zproject/backends.py:4624:18-35: The type of `errors` is unknown because it comes from an error [unknown-from-error]
+ ERROR zproject/backends.py:4631:16-56: The type of this argument is unknown because it comes from an error [unknown-from-error]

steam.py (https://github.com/Gobot1234/steam.py)
- ERROR steam/state.py:488:35-42: Argument `UserMessage` is not assignable to parameter `x` with type `Message` in function `collections.deque.append` [bad-argument-type]
- ERROR steam/state.py:521:31-38: Argument `UserMessage[ClientUser]` is not assignable to parameter `x` with type `Message` in function `collections.deque.append` [bad-argument-type]
+ ERROR steam/state.py:1576:37-46: Protected attribute `_location` cannot be accessed outside of its defining class or a subclass [protected-access]
- ERROR steam/user.py:246:36-252:22: No matching overload found for function `steam.reaction.MessageReaction.__init__` called with arguments: (ConnectionState, UserMessage, Emoticon, None, ClientUser | Self@User) [no-matching-overload]
- ERROR steam/user.py:258:36-264:22: No matching overload found for function `steam.reaction.MessageReaction.__init__` called with arguments: (ConnectionState, UserMessage, None, Sticker, ClientUser | Self@User) [no-matching-overload]

antidote (https://github.com/Finistere/antidote)
- ERROR tests/lib/interface/test_class.py:423:39-53: Unused `# type: ignore` comment [unused-type-ignore]

pandas (https://github.com/pandas-dev/pandas)
- ERROR pandas/core/arrays/categorical.py:3111:1-3113:2: Untyped class decorator may modify `CategoricalAccessor` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/arrays/interval.py:2022:1-2026:2: Untyped class decorator may modify `IntervalAccessor` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/indexes/accessors.py:209:1-215:2: Untyped class decorator may modify `ArrowTemporalProperties` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/indexes/accessors.py:216:1-222:2: Untyped class decorator may modify `ArrowTemporalProperties` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/indexes/accessors.py:223:1-236:2: Untyped class decorator may modify `ArrowTemporalProperties` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/indexes/accessors.py:342:1-346:2: Untyped class decorator may modify `DatetimeProperties` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/indexes/accessors.py:592:1-594:2: Untyped class decorator may modify `TimedeltaProperties` in unexpected ways [untyped-class-decorator]
- ERROR pandas/core/indexes/accessors.py:751:1-753:2: Untyped class decorator may modify `PeriodProperties` in unexpected ways [untyped-class-decorator]

sphinx (https://github.com/sphinx-doc/sphinx)
- ERROR sphinx/builders/linkcheck.py:756:29-42: Identity comparison between an instance of `dict[Pattern[str], Pattern[str]]` and class `_SENTINEL_LAR` is always False [unnecessary-comparison]

core (https://github.com/home-assistant/core)
- ERROR homeassistant/auth/mfa_modules/notify.py:356:37-49: The type of attribute `async_notify` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/auth/mfa_modules/notify.py:356:19-49: Object of class `MultiFactorAuthModule` has no attribute `async_notify` [missing-attribute]
+ ERROR homeassistant/auth/mfa_modules/totp.py:216:26-218:18: The type of `result` is an explicit `Any` [explicit-any-use]
- ERROR homeassistant/auth/providers/command_line.py:154:43-63: The type of attribute `async_validate_login` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/auth/providers/command_line.py:154:23-63: Object of class `AuthProvider` has no attribute `async_validate_login` [missing-attribute]
+  WARN homeassistant/auth/providers/homeassistant.py:45:24-47: Redundant cast: `AuthProvider` is the same type as `AuthProvider` [redundant-cast]
- ERROR homeassistant/auth/providers/homeassistant.py:403:43-63: The type of attribute `async_validate_login` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/auth/providers/homeassistant.py:403:23-63: Object of class `AuthProvider` has no attribute `async_validate_login` [missing-attribute]
+ ERROR homeassistant/auth/providers/insecure_example.py:111:17-57: Object of class `AuthProvider` has no attribute `async_validate_login` [missing-attribute]
+ ERROR homeassistant/auth/providers/trusted_networks.py:252:13-54: Object of class `AuthProvider` has no attribute `async_validate_access` [missing-attribute]
+ ERROR homeassistant/components/acaia/config_flow.py:47:27-55:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/acaia/config_flow.py:127:68-132:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/accuweather/config_flow.py:77:75-79:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/adax/config_flow.py:75:59-80:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aemet/config_flow.py:76:67-78:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aerosmart/config_flow.py:39:18-41:2: The type of `UNIT_ID_SCHEMA` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aerosmart/config_flow.py:39:32-41:2: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aerosmart/config_flow.py:45:51-47:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aerosmart/config_flow.py:48:75-50:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aerosmart/config_flow.py:62:59-61: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aerosmart/config_flow.py:63:83-65:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ai_task/services.py:90:29-42: The type of attribute `MediaSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ai_task/services.py:90:42-81: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ai_task/services.py:107:29-42: The type of attribute `MediaSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ai_task/services.py:107:42-81: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ai_task/services.py:126:29-42: The type of attribute `MediaSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ai_task/services.py:126:42-81: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aidot/config_flow.py:24:21-36: The type of attribute `CountrySelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aidot/config_flow.py:24:36-28:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airly/config_flow.py:92:75-94:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airnow/config_flow.py:102:75-104:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airos/config_flow.py:230:84-235:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airos/config_flow.py:262:84-267:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airpatrol/config_flow.py:23:52-28:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airpatrol/config_flow.py:29:72-34:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airq/config_flow.py:39:86-88: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airq/config_flow.py:40:85-87: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/airzone_cloud/config_flow.py:67:63-75:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:32:55-34:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:35:72-39:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:40:51-42:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:47:72-51:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:52:51-54:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:59:72-63:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alexa_devices/config_flow.py:64:51-66:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alpha_bidet_infrared/config_flow.py:30:79-34:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/alpha_bidet_infrared/config_flow.py:66:66-71:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/amberelectric/config_flow.py:142:68-153:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/amberelectric/services.py:40:67-42:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ambient_network/config_flow.py:98:40-77: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/ambient_network/config_flow.py:144:64-146:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/analytics_insights/config_flow.py:112:73-118:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/analytics_insights/config_flow.py:119:81-125:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/analytics_insights/config_flow.py:126:88-132:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/analytics_insights/config_flow.py:194:77-200:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/analytics_insights/config_flow.py:201:85-207:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/analytics_insights/config_flow.py:210:42-216:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/androidtv/config_flow.py:90:34-98:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/androidtv/config_flow.py:336:61-338:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/androidtv/config_flow.py:367:78-371:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/androidtv/config_flow.py:451:23-455:10: The type of `rule_schema` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/androidtv/config_flow.py:454:30-32: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/androidtv_remote/config_flow.py:299:65-305:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:37:52-64: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:37:64-66: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:38:69-81: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:38:81-40:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:46:48-60: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:46:60-62: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:217:70-84: The type of attribute `SelectSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anglian_water/config_flow.py:217:84-223:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:286:69-71: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:289:38-295:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:315:34-317:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:322:34-328:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:402:31-78: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:415:17-421:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:415:31-421:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:434:35-439:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:454:17-460:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/config_flow.py:454:31-460:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/anthropic/repairs.py:116:34-81: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/any_list/config_flow.py:32:52-34:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/any_list/config_flow.py:35:55-40:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/apcupsd/config_flow.py:17:14-28: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/apcupsd/config_flow.py:17:28-21:6: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/asuswrt/config_flow.py:160:18-183:10: The type of `schema` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/asuswrt/config_flow.py:169:30-173:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aurora/config_flow.py:85:75-87:26: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/autoskope/config_flow.py:25:72-27:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/autoskope/config_flow.py:31:85-33:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/autoskope/config_flow.py:43:72-45:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aws_s3/config_flow.py:35:81-37:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/aws_s3/config_flow.py:41:24-78: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/axis/config_flow.py:269:28-64: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/axle_energy/config_flow.py:33:71-35:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/azure_data_explorer/config_flow.py:36:82-84: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/backblaze_b2/config_flow.py:37:79-39:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/backblaze_b2/config_flow.py:252:36-254:22: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bang_olufsen/config_flow.py:71:85-73:18: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:133:22-36: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:133:36-141:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:153:22-36: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:153:36-161:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:170:56-75: The type of attribute `DeviceClassSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:170:75-172:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:178:70-82: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:178:82-84: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:185:22-36: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:185:36-193:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:203:22-36: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:203:36-211:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:220:48-60: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:220:60-62: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:226:53-67: The type of attribute `EntitySelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:226:67-228:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:229:52-64: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:229:64-234:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:240:53-67: The type of attribute `EntitySelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:240:67-242:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:243:49-63: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:243:63-247:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:248:49-63: The type of attribute `NumberSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:248:63-252:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:259:58-74: The type of attribute `TemplateSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bayesian/config_flow.py:259:74-261:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/besen/config_flow.py:38:14-42:2: The type of `PIN_SCHEMA` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/besen/config_flow.py:38:23-35: The type of attribute `TextSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/besen/config_flow.py:38:35-42:2: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bitcoin/config_flow.py:46:78-50:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bluetooth/config_flow.py:51:18-61:2: The type of `_MODE_SELECTOR` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bluetooth/config_flow.py:51:32-61:2: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bluetti_modbus/config_flow.py:27:51-53: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bluetti_modbus/config_flow.py:29:27-33:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bluetti_modbus/config_flow.py:37:27-41:14: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bring/config_flow.py:31:52-36:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/bring/config_flow.py:37:72-42:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/brother/config_flow.py:31:81-36:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/brother/config_flow.py:50:81-55:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/brottsplatskartan/config_flow.py:17:52-68: The type of attribute `LocationSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/brottsplatskartan/config_flow.py:17:68-19:10: The type of this argument is partially unknown; it contains an implicit `Any` [partially-unknown-type]
+ ERROR homeassistant/components/brottsplatskartan/config_flow.py:20:48-62: The type of attribute `SelectSelector` is partially unknown; it contains an implicit `Any` [partially-unknown-type]

... (truncated 2618 lines) ...

spack (https://github.com/spack/spack)
+ ERROR lib/spack/spack/spec.py:927:1-50: Untyped class decorator may modify `DependencySpec` in unexpected ways [untyped-class-decorator]
+ ERROR lib/spack/spack/spec.py:1897:1-50: Untyped class decorator may modify `Spec` in unexpected ways [untyped-class-decorator]
- ERROR lib/spack/spack/spec.py:5720:9-30: Class member `SpecfileV4.extract_info_from_dep` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
+ ERROR lib/spack/spack/spec.py:5711:7-17: Class `SpecfileV3` has unimplemented abstract members: `dependencies_from_node_dict`, `read_specfile_dep_specs`, `extract_build_spec_info_from_node_dict` [implicit-abstract-class]
+ ERROR lib/spack/spack/spec.py:5716:7-17: Class `SpecfileV4` has unimplemented abstract members: `dependencies_from_node_dict`, `read_specfile_dep_specs`, `extract_build_spec_info_from_node_dict` [implicit-abstract-class]
+ ERROR lib/spack/spack/spec.py:5732:7-17: Class `SpecfileV5` has unimplemented abstract members: `dependencies_from_node_dict`, `read_specfile_dep_specs`, `extract_build_spec_info_from_node_dict` [implicit-abstract-class]
- ERROR lib/spack/spack/spec.py:5744:9-30: Class member `SpecfileV5.extract_info_from_dep` overrides a member in a parent class but is missing an `@override` decorator [missing-override-decorator]
+ ERROR lib/spack/spack/spec.py:5759:7-17: Class `SpecfileV6` has unimplemented abstract members: `dependencies_from_node_dict`, `read_specfile_dep_specs`, `extract_build_spec_info_from_node_dict` [implicit-abstract-class]

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

decorated class not transformed

10 participants