Microsoft/TypeScript

regression in "key remapping breaks definition navigation"

Open

#56.019 aperta il 7 ott 2023

Vedi su GitHub
 (1 commento) (1 reazione) (0 assegnatari)TypeScript (6726 fork)batch import
Domain: LS: Symbol NavigationExperience EnhancementHelp WantedSuggestion

Metriche repository

Star
 (48.455 star)
Metriche merge PR
 (Merge medio 6g 17h) (9 PR mergiate in 30 g)

Descrizione

🔎 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

Guida contributor