From bb813efa39b53833295d8d8cd618e3c83485f538 Mon Sep 17 00:00:00 2001
From: gusty <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 07:40:50 +0100
Subject: [PATCH 01/16] Use F#9 for the main lib
---
global.json | 2 +-
src/FSharpPlus/FSharpPlus.fsproj | 8 ++------
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/global.json b/global.json
index 5078f42f7..b13f2e36b 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "8.0.0",
+ "version": "9.0.0",
"rollForward": "latestFeature",
"allowPrerelease": true
},
diff --git a/src/FSharpPlus/FSharpPlus.fsproj b/src/FSharpPlus/FSharpPlus.fsproj
index 5ef7715ed..cb60a7878 100644
--- a/src/FSharpPlus/FSharpPlus.fsproj
+++ b/src/FSharpPlus/FSharpPlus.fsproj
@@ -21,7 +21,7 @@
true
Debug;Release;Fable;Test
AnyCPU
- 8.0
+ 9.0
6.0
$(DefineConstants);TEST_TRACE
@@ -29,7 +29,7 @@
$(DefineConstants);FABLE_COMPILER;FABLE_COMPILER_4
net8.0
-
+
@@ -126,8 +126,4 @@
-
-
-
-
From bb5de16bd4064e5d2c4d23929897b28935917768 Mon Sep 17 00:00:00 2001
From: gusty <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 11:37:37 +0100
Subject: [PATCH 02/16] Remove F# core 6 ref in other projects
---
src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj | 3 ---
src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj | 3 ---
tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj | 1 -
tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj | 1 -
4 files changed, 8 deletions(-)
diff --git a/src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj b/src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj
index 5a352badd..9c6b36640 100644
--- a/src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj
+++ b/src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj
@@ -23,9 +23,6 @@
-
-
-
diff --git a/src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj b/src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj
index 9bdfa8218..9e185ca8d 100644
--- a/src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj
+++ b/src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj
@@ -41,9 +41,6 @@
-
-
-
diff --git a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
index b3181024d..eba6bb01e 100644
--- a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
+++ b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
@@ -53,7 +53,6 @@
-
diff --git a/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj b/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
index 18214529e..e722752fa 100644
--- a/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
+++ b/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
@@ -45,6 +45,5 @@
True
-
From 7f840095519cfb16f60e30462ec81e466bd2b892 Mon Sep 17 00:00:00 2001
From: Oskar Gewalli
Date: Sun, 2 Feb 2025 19:00:22 +0200
Subject: [PATCH 03/16] Remove F# core 6 ref in docs
---
src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj b/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
index 69477d202..e00b584d0 100644
--- a/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
+++ b/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
@@ -54,7 +54,6 @@
-
From e67eb6a1a468d0e408ea974d40f83193500131aa Mon Sep 17 00:00:00 2001
From: Oskar Gewalli
Date: Sun, 2 Feb 2025 19:43:05 +0200
Subject: [PATCH 04/16] Compile Docs should not compile tests
---
build.proj | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/build.proj b/build.proj
index 02ae75484..103a0f750 100644
--- a/build.proj
+++ b/build.proj
@@ -21,13 +21,14 @@
-
+
+
-
+
From 21ef28ae851c1a5624a0dd080221dc2ffeb688ba Mon Sep 17 00:00:00 2001
From: Gustavo Leon <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 18:46:28 +0100
Subject: [PATCH 05/16] Comment out code due to possible regression
---
tests/FSharpPlus.Tests/General.fs | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tests/FSharpPlus.Tests/General.fs b/tests/FSharpPlus.Tests/General.fs
index 62da5a027..17c01562b 100644
--- a/tests/FSharpPlus.Tests/General.fs
+++ b/tests/FSharpPlus.Tests/General.fs
@@ -1193,8 +1193,11 @@ module Alternative =
Assert.AreEqual (fullList, SideEffects.get ()) // short-circuits but the conversion to set forces all side-effects
SideEffects.reset ()
- let _ = choice (NonEmptyList.ofList (toList t)) // uses Default1 (Choice defined on NonEmptyList)
- Assert.AreEqual (fullList, SideEffects.get ()) // short-circuits but the conversion to set forces all side-effects
+ // Possible F# regression:
+ // General.fs(1224,25): error FS0465: Type inference problem too complicated (maximum iteration depth reached).
+ // Consider adding further type annotations. [D:\a\FSharpPlus\FSharpPlus\tests\FSharpPlus.Tests\FSharpPlus.Tests.fsproj]
+ // let _ = choice (NonEmptyList.ofList (toList t)) // uses Default1 (Choice defined on NonEmptyList)
+ // Assert.AreEqual (fullList, SideEffects.get ()) // short-circuits but the conversion to set forces all side-effects
SideEffects.reset ()
let _ = choice (WrappedSeqE t) // uses Default2
From 714fe0b99b73e2e4d3f0d511439a00a769177668 Mon Sep 17 00:00:00 2001
From: Gustavo Leon <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 19:19:11 +0100
Subject: [PATCH 06/16] Comment out code due to possible regression
---
src/FSharpPlus.Docs/Samples/Learn You a Haskell.fsx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/FSharpPlus.Docs/Samples/Learn You a Haskell.fsx b/src/FSharpPlus.Docs/Samples/Learn You a Haskell.fsx
index ca9106eec..54a6b09a0 100644
--- a/src/FSharpPlus.Docs/Samples/Learn You a Haskell.fsx
+++ b/src/FSharpPlus.Docs/Samples/Learn You a Haskell.fsx
@@ -33,7 +33,8 @@ let res15 = (+) (ZipList <| seq { 1..3 }) <*> (ZipList <| Seq.init 3 (fun _
let res16 = (fun x -> [x]) (Some 4) // Some [4]
let res17 = lift2 (fun x xs -> x::xs) (Some 3) (Some [4]) // [3; 4]
-let res18 = List.sequence [Some 3; Some 2; Some 1] // Some [3; 2; 1]
+// Possible F# regression
+// let res18 = List.sequence [Some 3; Some 2; Some 1] // Some [3; 2; 1]
(* --------------------------------------------------
From f134028b2ce7ef746301dacb48ad0a52beba03fe Mon Sep 17 00:00:00 2001
From: Gustavo Leon <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 19:49:07 +0100
Subject: [PATCH 07/16] Comment out code due to possible regression
---
tests/FSharpPlus.Tests/General.fs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tests/FSharpPlus.Tests/General.fs b/tests/FSharpPlus.Tests/General.fs
index 17c01562b..d49f7c7a5 100644
--- a/tests/FSharpPlus.Tests/General.fs
+++ b/tests/FSharpPlus.Tests/General.fs
@@ -1192,16 +1192,16 @@ module Alternative =
let _ = choice (ofSeq s: Set<_>) // use Default3: choice of an alternative
Assert.AreEqual (fullList, SideEffects.get ()) // short-circuits but the conversion to set forces all side-effects
- SideEffects.reset ()
- // Possible F# regression:
+ // Possible F# regressions:
// General.fs(1224,25): error FS0465: Type inference problem too complicated (maximum iteration depth reached).
// Consider adding further type annotations. [D:\a\FSharpPlus\FSharpPlus\tests\FSharpPlus.Tests\FSharpPlus.Tests.fsproj]
+ // SideEffects.reset ()
// let _ = choice (NonEmptyList.ofList (toList t)) // uses Default1 (Choice defined on NonEmptyList)
// Assert.AreEqual (fullList, SideEffects.get ()) // short-circuits but the conversion to set forces all side-effects
-
- SideEffects.reset ()
- let _ = choice (WrappedSeqE t) // uses Default2
- Assert.AreEqual ("Using WrappedSeqE's ToSeq"::shortList, SideEffects.get ()) // short-circuits
+ //
+ // SideEffects.reset ()
+ // let _ = choice (WrappedSeqE t) // uses Default2
+ // Assert.AreEqual ("Using WrappedSeqE's ToSeq"::shortList, SideEffects.get ()) // short-circuits
SideEffects.reset ()
let _ = choice (toList v) // uses specific overload for lists
From dc1c85ba4cc4beb2ee3d3794c957d67c269ebb59 Mon Sep 17 00:00:00 2001
From: Gustavo Leon <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 20:19:16 +0100
Subject: [PATCH 08/16] Comment out code due to possible regression
---
tests/FSharpPlus.Tests/General.fs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/FSharpPlus.Tests/General.fs b/tests/FSharpPlus.Tests/General.fs
index d49f7c7a5..bdbbf6fae 100644
--- a/tests/FSharpPlus.Tests/General.fs
+++ b/tests/FSharpPlus.Tests/General.fs
@@ -1701,7 +1701,10 @@ module Curry =
let f16 (t1, t2, t3, t4, t5, t6, t7: float, t8: char, t9: decimal, t10, t11, t12, t13, t14, t15, t16) = [t1+t2+t3+t4+t5+t6+ int t7 + int t8+ int t9+t10+t11+t12+t13+t14+t15+t16]
let f17 (t1, t2, t3, t4, t5, t6, t7: float, t8: char, t9: decimal, t10, t11, t12, t13, t14, t15, t16, t17) = [t1+t2+t3+t4+t5+t6+ int t7 + int t8+ int t9+t10+t11+t12+t13+t14+t15+t16+t17]
- let _x1 = curryN f1 100
+ // Possible regression
+ // General.fs(1728,27): error FS0071: Type constraint mismatch when applying the default type 'Tuple' for a type inference variable.
+ // Type mismatch. Expecting a '(Tuple -> int list) -> int -> obj' but given a '(Tuple -> int list) -> int -> int list' The type 'obj' does not match the type 'int list' Consider adding further type
+ // let _x1 = curryN f1 100
let _x2 = curryN f2 1 2
let _x3 = curryN f3 1 2 3
let _x7 = curryN f7 1 2 3 4 5 6 7
From 90e3f3d7c2856e6368e36c94c1e63243f38bb6b8 Mon Sep 17 00:00:00 2001
From: Gustavo Leon <1261319+gusty@users.noreply.github.com>
Date: Sun, 2 Feb 2025 21:05:45 +0100
Subject: [PATCH 09/16] Comment out code due to possible regression
---
tests/FSharpPlus.Tests/Traversals.fs | 38 ++++++++++++++--------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/tests/FSharpPlus.Tests/Traversals.fs b/tests/FSharpPlus.Tests/Traversals.fs
index a39a49d0e..6c63c18df 100644
--- a/tests/FSharpPlus.Tests/Traversals.fs
+++ b/tests/FSharpPlus.Tests/Traversals.fs
@@ -38,33 +38,33 @@ module Traversable =
Assert.AreEqual (Some [|1;2|], testVal)
Assert.IsInstanceOf