[ty] Add goto for Unknown when it appears in an inlay hint (#21545)

This commit is contained in:
Alex Waygood
2025-11-20 18:55:14 +00:00
committed by GitHub
parent c4767f5aa8
commit 290a5720cb
2 changed files with 454 additions and 10 deletions

View File

@@ -612,16 +612,19 @@ impl Display for DisplayRepresentation<'_> {
impl<'db> FmtDetailed<'db> for DisplayRepresentation<'db> {
fn fmt_detailed(&self, f: &mut TypeWriter<'_, '_, 'db>) -> fmt::Result {
match self.ty {
Type::Dynamic(dynamic) => {
if let DynamicType::Any = dynamic {
write!(
f.with_detail(TypeDetail::Type(Type::SpecialForm(SpecialFormType::Any))),
"{dynamic}"
)
} else {
write!(f, "{dynamic}")
}
}
Type::Dynamic(dynamic) => match dynamic {
DynamicType::Any => write!(
f.with_detail(TypeDetail::Type(Type::SpecialForm(SpecialFormType::Any))),
"{dynamic}"
),
DynamicType::Unknown => write!(
f.with_detail(TypeDetail::Type(Type::SpecialForm(
SpecialFormType::Unknown
))),
"{dynamic}"
),
_ => write!(f, "{dynamic}"),
},
Type::Never => f.with_detail(TypeDetail::Type(self.ty)).write_str("Never"),
Type::NominalInstance(instance) => {
let class = instance.class(self.db);