[syntax-errors]: import from * only allowed at module scope (F406) (#20166)

<!--
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

This PR implements F406
https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage/
as a semantic syntax error

## Test Plan

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-17 01:23:28 +05:30
committed by GitHub
parent 8a027b0d74
commit c3f2187fda
9 changed files with 373 additions and 18 deletions

View File

@@ -0,0 +1,8 @@
def f1():
from module import *
class C:
from module import *
def f2():
from ..module import *
def f3():
from module import *, *