Open teo-tsirpanis opened 8 months ago
This seems like the wrong behaviour.
The only way to make this compile is to decorate the module as public. The error message identifies the operator as private, and yet the only active scope limiter is the module which is decorated as internal.
@dsyme clearly F# has had this behaviour for ever, do we really want to restrict operator type member visibility to public members.
There's an approved language design suggestion for this, and https://github.com/dotnet/fsharp/pull/6805 addressed the issue, but that PR is quite old now.
I discovered that the compiler will not let me use an operator in an internal type, even from an internal function. I'm not sure if it's intentional, so opening it here as a bug.
Repro steps
Expected behavior
The snippet compiles successfully.
Actual behavior
Known workarounds
If I make the module public the snippet will compile successfully. I can do it in my use case (an F# library distributed in source form) and explicitly document that the types may become internal at any time.
Related information
Provide any related information (optional):