// @declaration: true // @noImplicitOverride: true class B { p1: number = 1; p2: number = 1; p3: () => void; p4: () => void; foo (v: string) {} fooo (v: string) {} } class D extends B { p1: number = 2; override p2: number = 3; p3: () => void; override p4: () => void; override foo (v: string) {} fooo (v: string) {} } class DD extends B { override foo: () => void fooo: () => void; }