-
Couldn't load subscription status.
- Fork 833
Open
Open
Copy link
Labels
Area-Compiler-PatternMatchingpattern compilation, active patterns, performance, codegenpattern compilation, active patterns, performance, codegenBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Milestone
Description
moved from fsharp/fsharp#802 by @FrankBro
by @FrankBro :
Anonymous interface implementation accessibility when tuple deconstruction is used
Repro steps
module private PM =
type PT =
abstract A : int
let a = { new PT with member __.A = 1 } // ok
let b, c = // PT is less accessible than PT * PT
{ new PT with member __.A = 1 }
, { new PT with member __.A = 1 }/home/runner/main.fs(5,9): error FS0410: The type 'PT' is less accessible than the value, member or type 'val patternInput : PM.PT * PM.PT' it is used in
/home/runner/main.fs(5,9): error FS0410: The type 'PT' is less accessible than the value, member or type 'val patternInput : PM.PT * PM.PT' it is used in
Expected behavior
Should work just like a does.
Actual behavior
Compile error
Known workarounds
Construct the tuple after implementing the anonymous interfaces
Related information
Repro'd here: https://repl.it/repls/FavorableDarkturquoiseGordonsetter
amongonz
Metadata
Metadata
Assignees
Labels
Area-Compiler-PatternMatchingpattern compilation, active patterns, performance, codegenpattern compilation, active patterns, performance, codegenBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Type
Projects
Status
In Progress