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
moved from fsharp/fsharp#802 by @FrankBro
by @FrankBro :
Anonymous interface implementation accessibility when tuple deconstruction is used
Repro steps
Expected behavior
Should work just like
adoes.Actual behavior
Compile error
Known workarounds
Construct the tuple after implementing the anonymous interfaces
Related information
Repro'd here: https://repl.it/repls/FavorableDarkturquoiseGordonsetter