==== tests/cases/compiler/assignmentCompatability39.ts (1 errors) ==== module __test1__ { export interface interfaceWithPublicAndOptional { one: T; two?: U; }; var obj4: interfaceWithPublicAndOptional = { one: 1 };; export var __val__obj4 = obj4; } module __test2__ { export class classWithTwoPublic { constructor(public one: T, public two: U) {} } var x2 = new classWithTwoPublic(1, "a");; export var __val__x2 = x2; } __test2__.__val__x2 = __test1__.__val__obj4 ~~~~~~~~~~~~~~~~~~~ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type 'classWithTwoPublic': !!! Required property 'two' cannot be reimplemented with optional property in 'interfaceWithPublicAndOptional'.