=== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersNumericNames.ts === // members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M // numeric named properties work correctly, no errors expected class S { 1: string; } >S : S, Symbol(S, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 0, 0)) class T { 1.: string; } >T : T, Symbol(T, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 3, 22)) var s: S; >s : S, Symbol(s, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 5, 3)) >S : S, Symbol(S, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 0, 0)) var t: T; >t : T, Symbol(t, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 3)) >T : T, Symbol(T, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 3, 22)) interface S2 { 1: string; bar?: string } >S2 : S2, Symbol(S2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 9)) >bar : string, Symbol(bar, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 8, 25)) interface T2 { 1.0: string; baz?: string } >T2 : T2, Symbol(T2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 8, 40)) >baz : string, Symbol(baz, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 9, 27)) var s2: S2; >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) >S2 : S2, Symbol(S2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 9)) var t2: T2; >t2 : T2, Symbol(t2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 11, 3)) >T2 : T2, Symbol(T2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 8, 40)) var a: { 1.: string; bar?: string } >a : { 1.: string; bar?: string; }, Symbol(a, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 3)) >bar : string, Symbol(bar, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 20)) var b: { 1.0: string; baz?: string } >b : { 1.0: string; baz?: string; }, Symbol(b, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 14, 3)) >baz : string, Symbol(baz, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 14, 21)) var a2 = { 1.0: '' }; >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) >{ 1.0: '' } : { 1.0: string; } >'' : string var b2 = { 1: '' }; >b2 : { 1: string; }, Symbol(b2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 17, 3)) >{ 1: '' } : { 1: string; } >'' : string s = t; >s = t : T >s : S, Symbol(s, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 5, 3)) >t : T, Symbol(t, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 3)) t = s; >t = s : S >t : T, Symbol(t, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 3)) >s : S, Symbol(s, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 5, 3)) s = s2; >s = s2 : S2 >s : S, Symbol(s, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 5, 3)) >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) s = a2; >s = a2 : { 1.0: string; } >s : S, Symbol(s, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 5, 3)) >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) s2 = t2; >s2 = t2 : T2 >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) >t2 : T2, Symbol(t2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 11, 3)) t2 = s2; >t2 = s2 : S2 >t2 : T2, Symbol(t2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 11, 3)) >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) s2 = t; >s2 = t : T >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) >t : T, Symbol(t, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 3)) s2 = b; >s2 = b : { 1.0: string; baz?: string; } >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) >b : { 1.0: string; baz?: string; }, Symbol(b, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 14, 3)) s2 = a2; >s2 = a2 : { 1.0: string; } >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) a = b; >a = b : { 1.0: string; baz?: string; } >a : { 1.: string; bar?: string; }, Symbol(a, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 3)) >b : { 1.0: string; baz?: string; }, Symbol(b, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 14, 3)) b = a; >b = a : { 1.: string; bar?: string; } >b : { 1.0: string; baz?: string; }, Symbol(b, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 14, 3)) >a : { 1.: string; bar?: string; }, Symbol(a, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 3)) a = s; >a = s : S >a : { 1.: string; bar?: string; }, Symbol(a, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 3)) >s : S, Symbol(s, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 5, 3)) a = s2; >a = s2 : S2 >a : { 1.: string; bar?: string; }, Symbol(a, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 3)) >s2 : S2, Symbol(s2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 10, 3)) a = a2; >a = a2 : { 1.0: string; } >a : { 1.: string; bar?: string; }, Symbol(a, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 13, 3)) >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) a2 = b2; >a2 = b2 : { 1: string; } >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) >b2 : { 1: string; }, Symbol(b2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 17, 3)) b2 = a2; >b2 = a2 : { 1.0: string; } >b2 : { 1: string; }, Symbol(b2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 17, 3)) >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) a2 = b; >a2 = b : { 1.0: string; baz?: string; } >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) >b : { 1.0: string; baz?: string; }, Symbol(b, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 14, 3)) a2 = t2; >a2 = t2 : T2 >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) >t2 : T2, Symbol(t2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 11, 3)) a2 = t; >a2 = t : T >a2 : { 1.0: string; }, Symbol(a2, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 16, 3)) >t : T, Symbol(t, Decl(assignmentCompatWithObjectMembersNumericNames.ts, 6, 3))