diff --git a/crates/ty_python_semantic/resources/mdtest/import/nonstandard_conventions.md b/crates/ty_python_semantic/resources/mdtest/import/nonstandard_conventions.md index ce5c995014..b5217a1ca9 100644 --- a/crates/ty_python_semantic/resources/mdtest/import/nonstandard_conventions.md +++ b/crates/ty_python_semantic/resources/mdtest/import/nonstandard_conventions.md @@ -214,8 +214,8 @@ reveal_type(mypackage.imported.X) # revealed: Unknown ## Relative `from` Import of Nested Submodule in `__init__` -`from .submodule import nested` in an `__init__.pyi` does not re-export `mypackage.submodule`, -`mypackage.submodule.nested`, or `nested`. +`from .submodule import nested` in an `__init__.pyi` does re-export `mypackage.submodule`, but not +`mypackage.submodule.nested` or `nested`. ### In Stub @@ -241,11 +241,10 @@ X: int = 42 ```py import mypackage -# error: "has no member `submodule`" -reveal_type(mypackage.submodule) # revealed: Unknown -# error: "has no member `submodule`" +reveal_type(mypackage.submodule) # revealed: +# error: "has no member `nested`" reveal_type(mypackage.submodule.nested) # revealed: Unknown -# error: "has no member `submodule`" +# error: "has no member `nested`" reveal_type(mypackage.submodule.nested.X) # revealed: Unknown # error: "has no member `nested`" reveal_type(mypackage.nested) # revealed: Unknown @@ -318,12 +317,10 @@ X: int = 42 ```py import mypackage -# TODO: this could work and would be nice to have -# error: "has no member `submodule`" -reveal_type(mypackage.submodule) # revealed: Unknown -# error: "has no member `submodule`" +reveal_type(mypackage.submodule) # revealed: +# error: "has no member `nested`" reveal_type(mypackage.submodule.nested) # revealed: Unknown -# error: "has no member `submodule`" +# error: "has no member `nested`" reveal_type(mypackage.submodule.nested.X) # revealed: Unknown # error: "has no member `nested`" reveal_type(mypackage.nested) # revealed: Unknown @@ -623,8 +620,7 @@ X: int = 42 ```py import mypackage -# error: "no member `imported`" -reveal_type(mypackage.imported.X) # revealed: Unknown +reveal_type(mypackage.imported.X) # revealed: int ``` ### In Non-Stub diff --git a/crates/ty_python_semantic/src/semantic_index/definition.rs b/crates/ty_python_semantic/src/semantic_index/definition.rs index b01c112eec..ad8b28847f 100644 --- a/crates/ty_python_semantic/src/semantic_index/definition.rs +++ b/crates/ty_python_semantic/src/semantic_index/definition.rs @@ -702,7 +702,7 @@ impl DefinitionKind<'_> { match self { DefinitionKind::Import(import) => import.is_reexported(), DefinitionKind::ImportFrom(import) => import.is_reexported(), - DefinitionKind::ImportFromSubmodule(_) => false, + DefinitionKind::ImportFromSubmodule(_) => true, _ => true, } }