Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.2k
Recursively unpackLiteral
values if using PEP 695 type aliases#11114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
cloudflare-workers-and-pagesbot commentedDec 14, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Deploying pydantic-docs with |
Latest commit: | fde4552 |
Status: | ✅ Deploy successful! |
Preview URL: | https://76e0a2d4.pydantic-docs.pages.dev |
Branch Preview URL: | https://literal-type-aliases.pydantic-docs.pages.dev |
codspeed-hqbot commentedDec 14, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
CodSpeed Performance ReportMerging#11114 willnot alter performanceComparing Summary
|
Coverage reportClick to see where and how coverage changed
This report was generated bypython-coverage-comment-action |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Nice work, thanks!!
pydantic/_internal/_typing_extra.py Outdated
# Note: we could also check for generic aliases with a type alias as an origin. | ||
# However, it is very unlikely that this happens as type variables can't appear in | ||
# `Literal` forms, so the only valid (but unnecessary) use case would be something like: | ||
# `type Test[T] = Literal['a']` (and then use `Test[int]`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Did you mean to use a str literal here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Yes, if you do:
typeTest[T]=Literal['whatever']MyLit=Literal[Test[int]]
MyLit.__args__[0]
is aGenericAlias
instance, and here we only check foris_type_alias_type
. But as I mentioned in the comment it is very unlikely to encounter such use cases, as it is not necessary (the type variable is useless here as you can't do something liketype Test[T] = Literal[T]
).
cc3186a
tob2f4844
Compareb2f4844
tofde4552
Compareacc5902
intomainUh oh!
There was an error while loading.Please reload this page.
Change Summary
Fixes#9269.
Related issue number
Checklist