=== tests/cases/conformance/types/intersection/intersectionTypeReadonly.ts === interface Base { readonly value: number; >value : number } interface Identical { readonly value: number; >value : number } interface Mutable { value: number; >value : number } interface DifferentType { readonly value: string; >value : string } interface DifferentName { readonly other: number; >other : number } let base: Base; >base : Base base.value = 12 // error, lhs can't be a readonly property >base.value = 12 : 12 >base.value : any >base : Base >value : any >12 : 12 let identical: Base & Identical; >identical : Base & Identical identical.value = 12; // error, lhs can't be a readonly property >identical.value = 12 : 12 >identical.value : any >identical : Base & Identical >value : any >12 : 12 let mutable: Base & Mutable; >mutable : Base & Mutable mutable.value = 12; >mutable.value = 12 : 12 >mutable.value : number >mutable : Base & Mutable >value : number >12 : 12 let differentType: Base & DifferentType; >differentType : Base & DifferentType differentType.value = 12; // error, lhs can't be a readonly property >differentType.value = 12 : 12 >differentType.value : any >differentType : Base & DifferentType >value : any >12 : 12 let differentName: Base & DifferentName; >differentName : Base & DifferentName differentName.value = 12; // error, property 'value' doesn't exist >differentName.value = 12 : 12 >differentName.value : any >differentName : Base & DifferentName >value : any >12 : 12