-
Notifications
You must be signed in to change notification settings - Fork 13k
Closed
Labels
QuestionAn issue which isn't directly actionable in codeAn issue which isn't directly actionable in code
Description
TypeScript Version: 3.2.0
Search Terms: Mapped Types, Generics
Code
type letters = 'a' | 'b'
const identityMapping: {
[letter in letters]: letter
} = {
'a': 'a',
'b': 'b'
};
function getIdentity<T extends letters>(t: T): T {
return identityMapping[t];
}
Expected behavior:
Compiles without type errors
Actual behavior:
[ts]
Type '{ a: "a"; b: "b"; }[T]' is not assignable to type 'T'.
Type 'letters' is not assignable to type 'T'.
Type '"a"' is not assignable to type 'T'. [2322]
Related Issues:
Metadata
Metadata
Assignees
Labels
QuestionAn issue which isn't directly actionable in codeAn issue which isn't directly actionable in code