You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Search Terms: enum number assignment compatible subtype
Code
enumNumericEnum{A=0,B,C}enumOtherNumericEnum{A=0,B,C}enumStringEnum{D='d',E='e',F='f'}// This compiles (but should not)letf: NumericEnum=0;letf2: NumericEnum=123/* not even a member */;letf3: OtherNumericEnum=0;functiontakesNumericEnum(f: NumericEnum){}takesNumericEnum(123);// This fails to compile as expected:letb: StringEnum='g';letb1: StringEnum='d';f=f3;takesNumericEnum(f3);functiontakesStringEnum(f: StringEnum){}takesStringEnum('g');
Expected behavior:
Numeric enums should not be assignable from number.
TypeScript Version: Version 3.1.0-dev.20180813
Search Terms: enum number assignment compatible subtype
Code
Expected behavior:
Numeric enums should not be assignable from number.
Actual behavior:
They are.
Playground Link:
http://www.typescriptlang.org/play/#src=enum%20NumericEnum%20%7B%20A%20%3D%200%2C%20B%2C%20C%20%7D%0Aenum%20OtherNumericEnum%20%7B%20A%20%3D%200%2C%20B%2C%20C%20%7D%0Aenum%20StringEnum%20%7B%20D%20%3D%20'd'%2C%20E%20%3D%20'e'%2C%20F%20%3D%20'f'%20%7D%0A%0A%2F%2F%20This%20is%20ok%20(but%20should%20not%20be)%0Alet%20f%3A%20NumericEnum%20%3D%200%3B%0Alet%20f2%3A%20NumericEnum%20%3D%20123%20%2F*%20not%20even%20a%20member%20*%2F%3B%0Alet%20f3%3A%20OtherNumericEnum%20%3D%200%3B%0A%0Afunction%20takesNumericEnum(f%3A%20NumericEnum)%20%7B%7D%0AtakesNumericEnum(123)%3B%0A%0A%2F%2F%20But%20this%20is%20not.%0Alet%20b%3A%20StringEnum%20%3D%20'g'%3B%0Alet%20b1%3A%20StringEnum%20%3D%20'd'%3B%0Af%20%3D%20f3%3B%0AtakesNumericEnum(f3)%3B%0A%0Afunction%20takesStringEnum(f%3A%20StringEnum)%20%7B%7D%0AtakesStringEnum('g')%3B%0A%0A
Related Issues:
The text was updated successfully, but these errors were encountered: