[syntax-errors]: future-feature-not-defined (F407) (#20554)

<!--
Thank you for contributing to Ruff/ty! To help us out with reviewing,
please consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title? (Please prefix
with `[ty]` for ty pull
  requests.)
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

This PR implements
https://docs.astral.sh/ruff/rules/future-feature-not-defined/ (F407) as
a semantic syntax error.

## Test Plan

<!-- How was it tested? -->

I have written inline tests as directed in #17412

---------

Signed-off-by: 11happy <soni5happy@gmail.com>
This commit is contained in:
Bhuminjay Soni 2025-09-25 23:22:24 +05:30 committed by GitHub
parent 6b7a9dc2f2
commit cfc64d1707
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 246 additions and 45 deletions

View file

@ -1,17 +0,0 @@
/// Returns `true` if `name` is a valid `__future__` feature name, as defined by
/// `__future__.all_feature_names`.
pub fn is_feature_name(name: &str) -> bool {
matches!(
name,
"nested_scopes"
| "generators"
| "division"
| "absolute_import"
| "with_statement"
| "print_function"
| "unicode_literals"
| "barry_as_FLUFL"
| "generator_stop"
| "annotations"
)
}

View file

@ -1,5 +1,4 @@
pub mod builtins;
pub mod future;
pub mod identifiers;
pub mod keyword;
pub mod logging;