Skip to content

3.7: instance member function becomes instance member property in type references [outcome: fixed since 3.7.0-dev.20191016] #33747

Closed
@bre1470

Description

@bre1470

TypeScript Version: 3.7.0-dev.20191002

Search Terms: instance member property

Code

declare global {
    class A {
        public f(): void;
    }
    class BA extends A {
        public f(): void;
    }
    class CA extends A {
        public f(): void;
    }
    class D extends CA {
        public f: BA['f']; // errors with 3.7
    }
}

export default undefined;

Expected behavior: use declarations without error

Actual behavior: errors with Class 'CA' defines instance member function 'f', but extended class 'D' defines it as instance member property.

Playground Link: https://www.typescriptlang.org/play/?ts=Nightly#code/CYUwxgNghgTiAEBzCB7ARlC8DeAoeB8kUAzifAII76G0AOArmhAJZjwBmAFAJQBc8AG4oWwANw0CAX0lFoZeACEqIAB4AXEADtg5Knlr0mrdt35CR42TNrEFAYRUbtuytUOFGzNp14DhohK0NoR25AAi8GqaOuSO7h7wXiacAsoA2gDkHJkAumLwAPSFUTAwKDDkAO4s6gAW8ADMAHQA7Na4MrhgKFokKBAgzaiIXJkAEiAQqAA08FUVEMAAhJk8ErhqdBXq8KAcUAwQuww6IBwsWiBWQA (compiles there without error)

Related Issues: -

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions