diff --git a/src/fsharp/pars.fsy b/src/fsharp/pars.fsy index 8a4988935c1..749c8dd5e38 100644 --- a/src/fsharp/pars.fsy +++ b/src/fsharp/pars.fsy @@ -788,7 +788,7 @@ optLiteralValueSpfn: | EQUALS declExpr { Some($2) } - | EQUALS OBLOCKBEGIN declExpr oblockend + | EQUALS OBLOCKBEGIN declExpr oblockend opt_ODECLEND { Some($3) } diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index da940132179..89e103775f8 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -2155,6 +2155,12 @@ module TypecheckTests = fsc cfg "%s --target:library -o:pos32.dll --warnaserror" cfg.fsc_flags ["pos32.fs"] peverify cfg "pos32.dll" + [] + let ``sigs pos33`` () = + let cfg = testConfig "typecheck/sigs" + fsc cfg "%s --target:library -o:pos33.dll --warnaserror" cfg.fsc_flags ["pos33.fsi"; "pos33.fs"] + peverify cfg "pos33.dll" + [] let ``sigs pos23`` () = let cfg = testConfig "typecheck/sigs" diff --git a/tests/fsharp/typecheck/sigs/pos33.fs b/tests/fsharp/typecheck/sigs/pos33.fs new file mode 100644 index 00000000000..716dfc54a32 --- /dev/null +++ b/tests/fsharp/typecheck/sigs/pos33.fs @@ -0,0 +1,11 @@ +module Pos33 + +let x = 1 +[] +let y = 1 +let z = 1 +[] +let w = "w" +let q = "q" +[] +let u = "u" \ No newline at end of file diff --git a/tests/fsharp/typecheck/sigs/pos33.fsi b/tests/fsharp/typecheck/sigs/pos33.fsi new file mode 100644 index 00000000000..3ba98f32d9d --- /dev/null +++ b/tests/fsharp/typecheck/sigs/pos33.fsi @@ -0,0 +1,12 @@ +module Pos33 + +val x : int +[] +val y : int = 1 +val z : int +[] +val w : string = "w" +val q : string +[] +val u : string = + "u" \ No newline at end of file