[red-knot] Emit error if int/float/complex/bytes/boolean literals appear in type expressions outside typing.Literal[]#16765
Conversation
Expand `InvalidTypeExpression` enum to include number, bytes and boolean in type expression
|
I may be wrong, but it seems that byte literals are already handled here: ruff/crates/red_knot_python_semantic/src/types/infer.rs Lines 5445 to 5452 in 44aec36 And tested here: |
|
There's now a test failing at I think this is expected though, as the generics are not implemented for SpecialForm i think? |
…and properly catch float 'literals' in type expresssions
AlexWaygood
left a comment
There was a problem hiding this comment.
Thanks! I think you're mostly on the right track, but there's a few issues here to sort out
crates/red_knot_python_semantic/resources/mdtest/annotations/literal.md
Outdated
Show resolved
Hide resolved
crates/red_knot_python_semantic/resources/mdtest/annotations/invalid.md
Outdated
Show resolved
Hide resolved
crates/red_knot_python_semantic/resources/mdtest/annotations/invalid.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Alex Waygood <[email protected]>
Co-authored-by: Alex Waygood <[email protected]>
|
I'll wait until our CI's back up and running before merging this (everything's disabled at the moment due to #16768, we should get it up again tomorrow) |
|
Sounds good, thank you for the feedback! |
|
|
typing.Literal[]
ecfe1ac to
74d6751
Compare
74d6751 to
9c36f0f
Compare
* main: (25 commits) [syntax-errors] Parenthesized context managers before Python 3.9 (#16523) [ci]: Disable wheel testing on `ppc64le` (#16793) [red-knot] Stabilize `negation_reverses_subtype_order` property test (#16801) [red-knot] Emit error if int/float/complex/bytes/boolean literals appear in type expressions outside `typing.Literal[]` (#16765) [ci] Use `git diff` instead of `changed-files` GH action (#16796) [syntax-errors] Improve error message and range for pre-PEP-614 decorator syntax errors (#16581) [`flake8-bandit`] Allow raw strings in `suspicious-mark-safe-usage` (`S308`) #16702 (#16770) [`refurb`] Avoid panicking `unwrap` in `verbose-decimal-constructor` (`FURB157`) (#16777) [red-knot] Add `--color` CLI option (#16758) [internal]: Upgrade salsa (#16794) Pin dependencies (#16791) [internal]: Update indirect dependencies (#16792) [ci]: Fixup codspeed upgrade (#16790) Update Rust crate compact_str to 0.9.0 (#16785) Update Rust crate clap to v4.5.32 (#16778) Update Rust crate codspeed-criterion-compat to v2.9.1 (#16784) Update Rust crate quote to v1.0.40 (#16782) Update Rust crate ordermap to v0.5.6 (#16781) Update cloudflare/wrangler-action action to v3.14.1 (#16783) Update Rust crate env_logger to v0.11.7 (#16779) ...
Expand
InvalidTypeExpressionenum to include number, bytes and boolean in type expressionSummary
Fixes #16532
Test Plan
Still need to look into where tests should be put for this improvement