Skip to content

regression in "key remapping breaks definition navigation" #56019

@softwareCobbler

Description

@softwareCobbler

🔎 Search Terms

key remapping breaks goto definition navigation mapped type
key remap goto def
breaks definition navigation

🕗 Version & Regression Information

  • This changed between versions 4.3.5 and 4.4.4

This looks like a regression of the resolution from #47813.

⏯ Playground Link

https://www.typescriptlang.org/play?ts=4.1.5#code/JYOwLgpgTgZghgYwgAgGIHt3IN4ChkHIAOU6R0YAngFzIDOYUoA5rgL665XnIBSArgwCycIgEkwAHgAqAPmQBeHAG0ACslDIA1hEroYyaQF1aABg7cUI8WADqwMAAsAShAC2omfKXY1GkNq6+obIcHTI6hAAHpAgACbhDEwgzMgA-MgABh5E5HEA+gAk2Kpsmci0IBAAbtAmyOaceITIADYQYMjM6GDoACIQMACEtALCohKSGOiy+ITdvQMwAHQkZBSU7E1zBO2dC-2DI8jWEvZOrjlTmLMtAPR3DcgAtMgALMumywCsyCA99H4uXQUEgcR2yAe72WAEYfi9oQBmeHoLQQqEfTEAamQACJ-sg4oNQA5gOgAjB0Px4riIQclsscnl8mtyKDNhwgA

💻 Code

interface Foo {
    property: string
}

type MapItWithRemap<T> = {[P in keyof T as P extends string ? `mapped_${P}` : never]: 0}

{
    let gotoDef!: MapItWithRemap<Foo>
    // 0 - 4.0.5 not supported
    // 4.1.5 - 4.3.5 ok
    // 4.4.4+ "no definition found for 'mapped_property'"
    gotoDef.mapped_property
}

🙁 Actual behavior

goto definition cannot find originating property declaration

🙂 Expected behavior

goto definition can find originating property declaration

Additional information about the issue

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions