Skip to content

can't infer pydantic.dataclasses.dataclass #307

@trim21

Description

@trim21

Summary

There are third party data classes use @dataclass_transform decoder on their dataclass decoder, for example, pydantic.dataclasses.dataclass, which is not support by ty.

    @dataclass_transform(field_specifiers=(dataclasses.field, Field, PrivateAttr))
    @overload
    def dataclass(
...

ty won't add add a __init__ for this:

from pydantic import dataclasses


@dataclasses.dataclass()
class Config:
    name: str
    age: int


Config(name="hello", age=18)
error[unknown-argument]: Argument `name` does not match any known parameter of bound method `__init__`
  --> e.py:10:8
   |
10 | Config(name="hello", age=18)
   |        ^^^^^^^^^^^^
   |
info: `unknown-argument` is enabled by default

error[unknown-argument]: Argument `age` does not match any known parameter of bound method `__init__`
  --> e.py:10:22
   |
10 | Config(name="hello", age=18)
   |                      ^^^^^^
   |
info: `unknown-argument` is enabled by default

Version

ty 0.0.0-alpha.8 (0474b40 2025-05-09)

Metadata

Metadata

Assignees

No one assigned

    Labels

    dataclassesIssues relating to dataclasses and dataclass_transformimportsModule resolution, site-packages discovery, import-related diagnostics

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions