From aa03af22afa14549cdd389f882928bd7631357a8 Mon Sep 17 00:00:00 2001 From: Aria Desires Date: Tue, 16 Dec 2025 11:51:36 -0500 Subject: [PATCH] remove underscore fallback --- crates/ty_ide/src/hover.rs | 4 +-- .../ty_python_semantic/src/types/display.rs | 32 +++++++++---------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/crates/ty_ide/src/hover.rs b/crates/ty_ide/src/hover.rs index 40e15ba927..8efcf90b8d 100644 --- a/crates/ty_ide/src/hover.rs +++ b/crates/ty_ide/src/hover.rs @@ -2151,10 +2151,10 @@ def function(): // TODO: This should just be `**AB@Alias2 ()` // https://github.com/astral-sh/ty/issues/1581 assert_snapshot!(test.hover(), @r" - def _(**AB@Alias2) -> tuple[AB@Alias2] + (**AB@Alias2) -> tuple[AB@Alias2] --------------------------------------------- ```python - def _(**AB@Alias2) -> tuple[AB@Alias2] + (**AB@Alias2) -> tuple[AB@Alias2] ``` --------------------------------------------- info[hover]: Hovered content is diff --git a/crates/ty_python_semantic/src/types/display.rs b/crates/ty_python_semantic/src/types/display.rs index a9f317d6ce..c500911c48 100644 --- a/crates/ty_python_semantic/src/types/display.rs +++ b/crates/ty_python_semantic/src/types/display.rs @@ -1676,15 +1676,13 @@ impl<'db> FmtDetailed<'db> for DisplaySignature<'_, 'db> { // If we're multiline printing and a name hasn't been emitted, try to // make one up to make things more pretty - if self.settings.multiline && !self.settings.disallow_signature_name { + if self.settings.multiline + && !self.settings.disallow_signature_name + && let Some(definition) = self.definition + && let Some(name) = definition.name(self.db) + { f.write_str("def ")?; - if let Some(definition) = self.definition - && let Some(name) = definition.name(self.db) - { - f.write_str(&name)?; - } else { - f.write_str("_")?; - } + f.write_str(&name)?; } // Parameters @@ -2721,12 +2719,12 @@ mod tests { let db = setup_db(); // Empty parameters with no return type. - assert_snapshot!(display_signature_multiline(&db, [], None), @"def _() -> Unknown"); + assert_snapshot!(display_signature_multiline(&db, [], None), @"() -> Unknown"); // Empty parameters with a return type. assert_snapshot!( display_signature_multiline(&db, [], Some(Type::none(&db))), - @"def _() -> None" + @"() -> None" ); // Single parameter type (no name) with a return type. @@ -2736,7 +2734,7 @@ mod tests { [Parameter::positional_only(None).with_annotated_type(Type::none(&db))], Some(Type::none(&db)) ), - @"def _(None, /) -> None" + @"(None, /) -> None" ); // Two parameters where one has annotation and the other doesn't. @@ -2753,7 +2751,7 @@ mod tests { Some(Type::none(&db)) ), @r" - def _( + ( x=int, y: str = str ) -> None @@ -2771,7 +2769,7 @@ mod tests { Some(Type::none(&db)) ), @r" - def _( + ( x, y, / @@ -2790,7 +2788,7 @@ mod tests { Some(Type::none(&db)) ), @r" - def _( + ( x, /, y @@ -2809,7 +2807,7 @@ mod tests { Some(Type::none(&db)) ), @r" - def _( + ( *, x, y @@ -2828,7 +2826,7 @@ mod tests { Some(Type::none(&db)) ), @r" - def _( + ( x, *, y @@ -2867,7 +2865,7 @@ mod tests { Some(KnownClass::Bytes.to_instance(&db)) ), @r" - def _( + ( a, b: int, c=Literal[1],