Microsoft/TypeScript

regression in "key remapping breaks definition navigation"

Open

#56.019 geöffnet am 7. Okt. 2023

Auf GitHub ansehen
 (1 Kommentar) (1 Reaktion) (0 zugewiesene Personen)TypeScript (6.726 Forks)batch import
Domain: LS: Symbol NavigationExperience EnhancementHelp WantedSuggestion

Repository-Metriken

Stars
 (48.455 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 6T 17h) (9 gemergte PRs in 30 T)

Beschreibung

🔎 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

Contributor Guide