-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Conversation
|
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.
Thank you!
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(), | ||
} | ||
} |
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.
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...!
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.
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
Co-authored-by: Alex Waygood <[email protected]>
…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]>
Thank you both for the speedy reviews! |
* 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) ...
Summary: Did a ruff upgrade in order to pull in astral-sh/ruff#14964. Reviewed By: ndmitchell Differential Revision: D67299113 fbshipit-source-id: 38c9075e403a25e29802369343b86e0c1219b8c2
Summary
This change adds
name
anddefault
functions toTypeParam
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.