Implementation:
module Repro
type R1 = { f1 : int }
type R2 = { f2 : int }
type D() =
member x.N = x.M { f1 = 3 }
member x.M((y: R1)) = ()
member x.M(()) = ()
Actual generated signature:
module Repro
type R1 = { f1: int }
type R2 = { f2: int }
type D =
new: unit -> D
member M: unit -> unit
member M: y: R1 -> unit
member N: unit
Error on roundtrip compile:
error FS0193: Module requires a value 'member D.M: unit -> unit'
The generated member M: unit -> unit cannot be matched with member x.M(()) = ().
Expected signature:
[<Class>]
type D =
new: unit -> D
member M: y: R1 -> unit
member M: unit -> unit
member N: unit
Verified: roundtrips successfully (same content, just added [<Class>]).
Implementation:
Actual generated signature:
Error on roundtrip compile:
The generated
member M: unit -> unitcannot be matched withmember x.M(()) = ().Expected signature:
Verified: roundtrips successfully (same content, just added
[<Class>]).