Skip to content

Private module values can be mutated by other modules #27

Description

@latkin

Reported by a user on Twitter, but they have not followed up, so I'll open it here. The below code compiles, despite the illegal access:

module A =
    let mutable private x = 0

module B = 
    let test () =
        // let _ = A.x  // accessibility error on read, as expected
        A.x <- 1     // but write works!

This repros at least as far back as 3.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    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