Skip to content

Commit 5c67835

Browse files
committed
Include execution tests
1 parent d400b23 commit 5c67835

File tree

1 file changed

+32
-10
lines changed

1 file changed

+32
-10
lines changed

tests/fsharp/Compiler/Language/TypeDirectedConversionTests.fs

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -245,20 +245,23 @@ let test() =
245245

246246
[<Test>]
247247
let ``Overloading on System.Nullable<int>, System.Nullable<'T> and int all work without error``() =
248-
CompilerAssert.Pass
248+
CompilerAssert.RunScript
249249
"""
250-
module Test
251-
250+
let assertTrue x =
251+
(x || failwith "Unexpected overload") |> ignore
252+
252253
type M() =
253-
static member A(n: System.Nullable<'T>) = ()
254-
static member A(n: System.Nullable<int>) = ()
255-
static member A(n: int) = ()
254+
static member A(n: System.Nullable<'T>) = 1
255+
static member A(n: System.Nullable<int>) = 2
256+
static member A(n: int) = 3
256257
257258
let test() =
258-
M.A(System.Nullable 3)
259-
M.A(System.Nullable 3.)
260-
M.A(3)
261-
"""
259+
M.A(System.Nullable 3.) = 1 |> assertTrue
260+
M.A(System.Nullable 3) = 2 |> assertTrue
261+
M.A(3) = 3 |> assertTrue
262+
263+
test()
264+
""" []
262265

263266
[<Test>]
264267
let ``Picking overload for typar does not favor any form of System.Nullable nor produce ambiguity warnings``() =
@@ -349,3 +352,22 @@ let test() =
349352
}
350353
"""
351354
]))
355+
356+
[<Test>]
357+
let ``Test retrieving an argument set in nested method call property setter works``() =
358+
CompilerAssert.RunScript
359+
"""
360+
type Input<'T>(v: 'T) =
361+
member _.Value = v
362+
static member op_Implicit(value: 'T): Input<'T> = Input<'T>(value)
363+
364+
type OtherArgs() =
365+
member val Name: string = Unchecked.defaultof<_> with get,set
366+
type SomeArgs() =
367+
member val OtherArgs: Input<OtherArgs> = Unchecked.defaultof<_> with get, set
368+
369+
let test() =
370+
SomeArgs(OtherArgs = OtherArgs(Name = "test"))
371+
372+
if not (test().OtherArgs.Value.Name = "test") then failwith "Unexpected value was returned after setting Name"
373+
""" []

0 commit comments

Comments
 (0)