Skip to content

Getter/Setter, inheritance and $ReadOnly interacting incorrectly #380

Description

@paul23-git

Whenever you inherit from a class (doesn't matter what the parent class contains. And use getter/setter - or even just a getter- you cannot access these functions when passing the object with $ReadOnly

export class SomeThing{
}

class Test extends SomeThing {
    get name(): string {
        return "test";
    }
}

function test(data: $ReadOnly<Test>) {
    console.log(data.name)
}

Gives this error:

Error:(28, 22) Cannot get data.name because property name is missing in Test [1].

Removing the inheritance - or removing the $ReadOnly<> modifier makes it work. While i expect it to just work

Flow-bin version: 0.196.3

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