diff --git a/src/services/services.ts b/src/services/services.ts index 83f0d7152fd..4d4917ec601 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -4349,7 +4349,7 @@ namespace ts { displayParts.push(keywordPart(SyntaxKind.NewKeyword)); displayParts.push(spacePart()); } - if (!(type.flags & TypeFlags.Anonymous)) { + if (!(type.flags & TypeFlags.Anonymous) && type.symbol) { addRange(displayParts, symbolToDisplayParts(typeChecker, type.symbol, enclosingDeclaration, /*meaning*/ undefined, SymbolFormatFlags.WriteTypeParametersOrArguments)); } addSignatureDisplayParts(signature, allSignatures, TypeFormatFlags.WriteArrowStyleSignature); diff --git a/tests/cases/fourslash/getQuickInfoForIntersectionTypes.ts b/tests/cases/fourslash/getQuickInfoForIntersectionTypes.ts new file mode 100644 index 00000000000..ecdd0954617 --- /dev/null +++ b/tests/cases/fourslash/getQuickInfoForIntersectionTypes.ts @@ -0,0 +1,8 @@ +////function f(): string & {(): any} { +//// return {}; +////} +////let x = f(); +////x/**/(); + +goTo.marker(); +verify.quickInfoIs("let x: () => any");