diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml
index 4e1d6979b..c3fd58757 100644
--- a/.github/workflows/dotnetcore.yml
+++ b/.github/workflows/dotnetcore.yml
@@ -25,7 +25,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
- dotnet-version: 6.0.201
+ dotnet-version: 7.0.100
- name: Restore
run: git submodule update --init --recursive
- name: Build with dotnet
@@ -38,7 +38,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- - name: Setup .NET Core
+ - name: Setup .NET Core 7
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 7.0.100
+ - name: Setup .NET Core 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.201
@@ -78,6 +82,10 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
+ - name: Setup .NET Core 7
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 7.0.100
- name: Setup .NET Core 6
uses: actions/setup-dotnet@v1
with:
diff --git a/.github/workflows/fable.yml b/.github/workflows/fable.yml
index b168c2fdc..e2f4f4549 100644
--- a/.github/workflows/fable.yml
+++ b/.github/workflows/fable.yml
@@ -13,12 +13,14 @@ jobs:
steps:
- uses: actions/checkout@v2
+ - name: Restore
+ run: git submodule update --init --recursive
+ - name: Remove global json
+ run: rm global.json
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.201
- - name: Restore
- run: git submodule update --init --recursive
- name: Restore tools
run: dotnet tool restore
- name: Use Node.js
@@ -37,12 +39,14 @@ jobs:
steps:
- uses: actions/checkout@v2
+ - name: Restore
+ run: git submodule update --init --recursive
+ - name: Remove global json
+ run: rm global.json
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.201
- - name: Restore
- run: git submodule update --init --recursive
- name: Restore tools
run: dotnet tool restore
# - name: Run tests (Fable2 subset but on .net)
diff --git a/docsrc/tools/docsTool.fsproj b/docsrc/tools/docsTool.fsproj
index 069dd996f..7bd2f31f8 100644
--- a/docsrc/tools/docsTool.fsproj
+++ b/docsrc/tools/docsTool.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net7.0
diff --git a/global.json b/global.json
index af2302b08..687f32f74 100644
--- a/global.json
+++ b/global.json
@@ -1,10 +1,11 @@
{
"sdk": {
- "version": "6.0.200",
+ "version": "7.0.100",
"rollForward": "latestFeature"
},
"additionalSdks": [
- "5.0.405"
+ "5.0.405",
+ "6.0.201"
]
}
diff --git a/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj b/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
index d0eb6aeb6..f25f1af8f 100644
--- a/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
+++ b/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
@@ -8,7 +8,7 @@
Exe
Debug;Release;Fable
AnyCPU
- net6.0
+ net7.0
diff --git a/src/FSharpPlus/Control/Numeric.fs b/src/FSharpPlus/Control/Numeric.fs
index f5a18b69c..d445a0a3c 100644
--- a/src/FSharpPlus/Control/Numeric.fs
+++ b/src/FSharpPlus/Control/Numeric.fs
@@ -291,11 +291,15 @@ type TryNegate' =
type DivRem =
inherit Default1
static member inline DivRem (x: ^t when ^t: null and ^t: struct, y: ^t, _thisClass: DivRem) = (x, y)
- static member inline DivRem (D: 'T, d: 'T, []_impl: Default1) = let q = D / d in q, D - q * d
- static member inline DivRem (D: 'T, d: 'T, []_impl: DivRem ) =
+ static member inline DivRem (D: 'T, d: 'T, _impl: Default2) = let q = D / d in q, D - q * d
+ static member inline DivRem (D: 'T, d: 'T, _impl: Default1) =
let mutable r = Unchecked.defaultof<'T>
(^T: (static member DivRem : _ * _ -> _ -> _) (D, d, &r)), r
+ static member inline DivRem (D: 'T, d: 'T, _impl: DivRem ) =
+ let (struct (x, y)) = (^T: (static member DivRem : _ * _ -> _) (D, d))
+ (x, y)
+
static member inline Invoke (D: 'T) (d: 'T) : 'T*'T =
let inline call_3 (a: ^a, b: ^b, c: ^c) = ((^a or ^b or ^c) : (static member DivRem : _*_*_ -> _) b, c, a)
let inline call (a: 'a, b: 'b, c: 'c) = call_3 (a, b, c)
diff --git a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
index 790a030d5..bf44686b4 100644
--- a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
+++ b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
@@ -5,13 +5,13 @@
$(FSC_ExePathCompilerBuild)
- net6.0
true
6.0
false
Debug;Release;Fable
AnyCPU
$(DefineConstants);FABLE_COMPILER
+ net7.0
diff --git a/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj b/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
index 157755f1c..f091059e2 100644
--- a/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
+++ b/tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj
@@ -1,49 +1,49 @@
-
- Exe
- Debug;Release;Fable;Fable3
- AnyCPU
- 6.0
- $(DefineConstants);FABLE_COMPILER;FABLE_COMPILER_FAKE
- $(DefineConstants);FABLE_COMPILER;FABLE_COMPILER_3;FABLE_COMPILER_FAKE
- net6.0
-
+
+ Exe
+ Debug;Release;Fable;Fable3
+ AnyCPU
+ 6.0
+ $(DefineConstants);FABLE_COMPILER;FABLE_COMPILER_FAKE
+ $(DefineConstants);FABLE_COMPILER;FABLE_COMPILER_3;FABLE_COMPILER_FAKE
+ net6.0
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
- True
-
-
-
+
+
+ True
+
+
+
diff --git a/tests/FSharpPlusFable.Tests/global.json b/tests/FSharpPlusFable.Tests/global.json
new file mode 100644
index 000000000..ebe3ab71d
--- /dev/null
+++ b/tests/FSharpPlusFable.Tests/global.json
@@ -0,0 +1,6 @@
+{
+ "sdk": {
+ "version": "6.0.201",
+ "rollForward": "latestFeature"
+ }
+}
diff --git a/tests/benchmarks/Benchmarks.fsproj b/tests/benchmarks/Benchmarks.fsproj
index 93d068fcd..2c1ffc1e6 100644
--- a/tests/benchmarks/Benchmarks.fsproj
+++ b/tests/benchmarks/Benchmarks.fsproj
@@ -1,6 +1,6 @@
- net6.0
+ net7.0
Exe
AnyCPU
true