Skip to content

mapped type with remapped keys unexpectedly widens typeย #57265

@rotu

Description

@rotu

๐Ÿ”Ž Search Terms

keyof, string, record

๐Ÿ•— Version & Regression Information

  • This changed between versions 4.4.4 and 4.5.5

โฏ Playground Link

No response

๐Ÿ’ป Code

type R = { [K in keyof Record<string,unknown> as K]: unknown; };
//   ^?
type K = keyof R;
//   ^?
let s:string = "a" as K

Workbench Repro

๐Ÿ™ Actual behavior

keyof R is string | number.

๐Ÿ™‚ Expected behavior

keyof R is string.

Additional information about the issue

No response

Metadata

Metadata

Assignees

Labels

Has ReproThis issue has compiler-backed repros: https://aka.ms/ts-reprosNeeds InvestigationThis issue needs a team member to investigate its status.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions