Skip to content

Function parameter hover info is inconsistent between contexts #59219

Open
@remcohaszing

Description

@remcohaszing

🔎 Search Terms

“hover”

🕗 Version & Regression Information

  • This changed between versions 5.4 and 5.5

⏯ Playground Link

https://www.typescriptlang.org/play/#code/PTAEFUGcFMCdQCbQGYEsB20Gg5VTQBZAEQA1Q0AbaSAOlAHVpEB7dQTAIAXUAYzc9gtKoTgAtUdAFCcAngAdmABUFzIoALygA3pNB7QkFgFtoylnIBcBgRgDmkgL6TJIUAEl0nOOgCGw0dCUCvCyCrTS8swkpADC-NCeZqoaoElqAGTafEZybAmckAD8VloOTpLIAK7oPJyobERkcZ75ABRyKpAlsNA+CGyUMqAA2gDSOOigANbQMizIjbHxiZ0AulbRzV4r5pBjqw4AlNq6+q76F5egAHqFp3quACoBIpFq86AduzhqHdCcslAAHcApNRCwAG5wOygSFwT6dRzOTbLTguMC3dGgZ7MULMD5fZISUCVWyDYGg0DgqGwGFw+AolqeLExHyTIHMIw+GYicS-HoAoY+NQcyiUQqpHrIOA+ABG5KBqDELEq3AwAhYCEqPBh6rgJgQqB8XipgWCrwUUiAA

💻 Code

// User defined inside MDX files. We don’t control this.
type Props = {
    someProp: string
}

// Internal helper type.
type MDXContentProps = Props & {components?: {}}

function MDXContent(props: {readonly [K in keyof MDXContentProps]: MDXContentProps[K]}) {
    //              ^?
    // The types of props is pretty when hovering over props
}

MDXContent
// ^?
// The type of props is ugly when hovering over MDXContent
// Can we make this pretty as well? Preferably without introducing intermediate helper types.

🙁 Actual behavior

Hovering over MDXContent shows the type of the props as written.

Hover info for MDXContent with TypeScript 5.5

🙂 Expected behavior

Hovering over MDXContent shows a pretty formatted type of the props, just like TypeScript 5.4.

Hover info for MDXContent with TypeScript 5.4

Additional information about the issue

I initially asked for help on Twitter to prettify this, not realizing this was a regression in TypeScript 5.5.

Later in the thread I was asked to report this bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Awaiting More FeedbackThis means we'd like to hear from more people who would be helped by this featureSuggestionAn idea for TypeScript

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions