From 2b3ba520424ec24684c1bd2aee387b15a58000f3 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/10] 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 b4b8374b4..4f3e4fc06 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
-
+
@@ -125,8 +125,4 @@
-
-
-
-
From 49c70bbe2592db79db3ce65d9178cc7d4fe1b504 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/10] 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 3c2b3e602..fcd6220ac 100644
--- a/src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj
+++ b/src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj
@@ -22,9 +22,6 @@
-
-
-
diff --git a/src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj b/src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj
index e750b118b..21bdd4a36 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 734bf6e45..6580dcee4 100644
--- a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
+++ b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
@@ -51,7 +51,6 @@
-
diff --git a/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj b/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
index ad1165474..c360b416f 100644
--- a/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
+++ b/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
@@ -44,6 +44,5 @@
True
-
From 8be9b5c1544f47b548dd731afe470ef6672d5b84 Mon Sep 17 00:00:00 2001
From: Oskar Gewalli
Date: Sun, 2 Feb 2025 19:00:22 +0200
Subject: [PATCH 03/10] 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 c7fca1752c2516533f5a110be3053ff72acec35f Mon Sep 17 00:00:00 2001
From: Oskar Gewalli
Date: Sun, 2 Feb 2025 19:43:05 +0200
Subject: [PATCH 04/10] 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 35f2ffe99fdd59b34ba4f4b76f2578e53f2b48fd 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/10] 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 97d0d522c..14805a656 100644
--- a/tests/FSharpPlus.Tests/General.fs
+++ b/tests/FSharpPlus.Tests/General.fs
@@ -1217,8 +1217,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 acfb46e4334bc72ebd597265b4f9c1f11cfe25dc 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/10] 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 19f761a77..9a972618f 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 1f963bddcf4693b6813e314bcff5486539002ec0 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/10] 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 14805a656..2c4e3de51 100644
--- a/tests/FSharpPlus.Tests/General.fs
+++ b/tests/FSharpPlus.Tests/General.fs
@@ -1216,16 +1216,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 8b1fa7a324eee4083149a851b5555b82054860fe 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/10] 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 2c4e3de51..06b716d1e 100644
--- a/tests/FSharpPlus.Tests/General.fs
+++ b/tests/FSharpPlus.Tests/General.fs
@@ -1725,7 +1725,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 35d587b697f7babbc536d8205ce138f7e34046f2 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/10] 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 5008f2273..6705c42b3 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