Skip to content

[ty] Simplify Type::try_bool() #18342

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 27, 2025
Merged

[ty] Simplify Type::try_bool() #18342

merged 1 commit into from
May 27, 2025

Conversation

AlexWaygood
Copy link
Member

Summary

I don't think we're ever going to add any KnownInstanceType variants that evaluate to False in a boolean context; the KnownInstanceType::bool() method just seems like unnecessary complexity.

Test Plan

cargo test -p ty_python_semantic

@AlexWaygood AlexWaygood added internal An internal refactor or improvement ty Multi-file analysis & type inference labels May 27, 2025
Copy link
Contributor

mypy_primer results

No ecosystem changes detected ✅

@carljm
Copy link
Contributor

carljm commented May 27, 2025

Never thought I'd see the day that @AlexWaygood would remove an exhaustive match and replace it with a _ ;)

@AlexWaygood AlexWaygood merged commit 743764d into main May 27, 2025
34 checks passed
@AlexWaygood AlexWaygood deleted the alex/simplify-bool branch May 27, 2025 18:32
@AlexWaygood
Copy link
Member Author

Never thought I'd see the day that @AlexWaygood would remove an exhaustive match and replace it with a _ ;)

he comes back from PyCon and all of a sudden he's dreaming of beautiful, concise Python code...

carljm added a commit to MatthewMckee4/ruff that referenced this pull request May 28, 2025
* main: (246 commits)
  [ty] Simplify signature types, use them in `CallableType` (astral-sh#18344)
  [ty] Support ephemeral uv virtual environments (astral-sh#18335)
  Add a `ViolationMetadata::rule` method (astral-sh#18234)
  Return `DiagnosticGuard` from `Checker::report_diagnostic` (astral-sh#18232)
  [flake8_use_pathlib]: Replace os.symlink with Path.symlink_to (PTH211) (astral-sh#18337)
  [ty] Support cancellation and retry in the server (astral-sh#18273)
  [ty] Synthetic function-like callables (astral-sh#18242)
  [ty] Support publishing diagnostics in the server (astral-sh#18309)
  Add Autofix for ISC003 (astral-sh#18256)
  [`pyupgrade`]: new rule UP050 (`useless-class-metaclass-type`) (astral-sh#18334)
  [pycodestyle] Make `E712` suggestion not assume a context (astral-sh#18328)
  put similar dunder-call tests next to each other (astral-sh#18343)
  [ty] Derive `PartialOrd, Ord` for `KnownInstanceType` (astral-sh#18340)
  [ty] Simplify `Type::try_bool()` (astral-sh#18342)
  [ty] Simplify `Type::normalized` slightly (astral-sh#18339)
  [ty] Move arviz off the list of selected primer projects (astral-sh#18336)
  [ty] Add --config-file CLI arg (astral-sh#18083)
  [ty] Tell the user why we inferred a certain Python version when reporting version-specific syntax errors (astral-sh#18295)
  [ty] Implement implicit inheritance from `Generic[]` for PEP-695 generic classes (astral-sh#18283)
  [ty] Add hint if async context manager is used in non-async with statement (astral-sh#18299)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal An internal refactor or improvement ty Multi-file analysis & type inference
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants