Skip to content

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

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions