Skip to content
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

[ruff_python_ast] Add name and default functions to TypeParam. #14964

Merged
merged 2 commits into from
Dec 15, 2024

Conversation

rchen152
Copy link
Contributor

Summary

This change adds name and default functions to TypeParam to access the corresponding attributes more conveniently. I currently have these as helper functions in code built on top of ruff_python_ast, and they seemed like they might be generally useful.

Test Plan

Ran the checks listed in CONTRIBUTING.md#development.

Copy link
Contributor

github-actions bot commented Dec 14, 2024

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

Formatter (stable)

✅ ecosystem check detected no format changes.

Formatter (preview)

✅ ecosystem check detected no format changes.

@dylwil3 dylwil3 added the internal An internal refactor or improvement label Dec 14, 2024
Copy link
Member

@AlexWaygood AlexWaygood left a comment

Choose a reason for hiding this comment

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

Thank you!

crates/ruff_python_ast/src/nodes.rs Outdated Show resolved Hide resolved
Comment on lines +3398 to +3404
pub fn default(&self) -> Option<&Expr> {
match self {
Self::TypeVar(x) => x.default.as_deref(),
Self::ParamSpec(x) => x.default.as_deref(),
Self::TypeVarTuple(x) => x.default.as_deref(),
}
}
Copy link
Member

Choose a reason for hiding this comment

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

hmm... I see that this could be useful, but the name could be confusing, since most default() methods come from the Default trait. I don't necessarily have a better suggestion, though...!

Copy link
Member

@MichaReiser MichaReiser Dec 15, 2024

Choose a reason for hiding this comment

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

I think this is fine, considering that it is aligned with the field name. Default::default is also a static method whereas TypeParam.default is an instance method

@MichaReiser MichaReiser enabled auto-merge (squash) December 15, 2024 12:00
@MichaReiser MichaReiser merged commit 112e9d2 into astral-sh:main Dec 15, 2024
20 checks passed
Glyphack pushed a commit to Glyphack/ruff that referenced this pull request Dec 15, 2024
…l-sh#14964)

## Summary

This change adds `name` and `default` functions to `TypeParam` to access
the corresponding attributes more conveniently. I currently have these
as helper functions in code built on top of ruff_python_ast, and they
seemed like they might be generally useful.

## Test Plan

Ran the checks listed in CONTRIBUTING.md#development.

---------

Co-authored-by: Micha Reiser <[email protected]>
Co-authored-by: Alex Waygood <[email protected]>
@rchen152 rchen152 deleted the typeparam branch December 15, 2024 22:25
@rchen152
Copy link
Contributor Author

Thank you both for the speedy reviews!

dcreager added a commit that referenced this pull request Dec 16, 2024
* main: (25 commits)
  [`pydocstyle`] Skip leading whitespace for `D403` (#14963)
  Update pre-commit dependencies (#15008)
  Check diagnostic refresh support from client capability (#15014)
  Update Rust crate colored to v2.2.0 (#15010)
  Update dependency monaco-editor to v0.52.2 (#15006)
  Update Rust crate thiserror to v2.0.7 (#15005)
  Update Rust crate serde to v1.0.216 (#15004)
  Update Rust crate libc to v0.2.168 (#15003)
  Update Rust crate fern to v0.7.1 (#15002)
  Update Rust crate chrono to v0.4.39 (#15001)
  Update Rust crate bstr to v1.11.1 (#15000)
  Update NPM Development dependencies (#14999)
  Update dependency ruff to v0.8.3 (#15007)
  Pin mdformat plugins in pre-commit (#14992)
  Use stripping block (`|-`) for page descriptions (#14980)
  [`perflint`] Fix panic in `perf401` (#14971)
  Improve the documentation of E201/E202 (#14983)
  [ruff_python_ast] Add name and default functions to TypeParam. (#14964)
  [red-knot] Emit an error if a bare `Annotated` or `Literal` is used in a type expression (#14973)
  [red-knot] Fix bugs relating to assignability of dynamic `type[]` types (#14972)
  ...
facebook-github-bot pushed a commit to facebook/pyre-check that referenced this pull request Dec 16, 2024
Summary: Did a ruff upgrade in order to pull in astral-sh/ruff#14964.

Reviewed By: ndmitchell

Differential Revision: D67299113

fbshipit-source-id: 38c9075e403a25e29802369343b86e0c1219b8c2
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants