diff --git a/docsrc/tools/doclib.fs b/docsrc/tools/doclib.fs
index 3200f6e6d..683fc289a 100644
--- a/docsrc/tools/doclib.fs
+++ b/docsrc/tools/doclib.fs
@@ -1025,7 +1025,7 @@ module ProcessUtils =
type ProcessResult = { ExitCode : int; stdout : string; stderr : string }
-let executeProcess (exe, cmdline, workingDir, (env:(string*string) list option)) =
+let executeProcess (exe:string, cmdline:string, workingDir, (env:(string*string) list option)) =
let psi =
System.Diagnostics.ProcessStartInfo (exe, cmdline,
UseShellExecute = false,
diff --git a/docsrc/tools/docsTool.fsproj b/docsrc/tools/docsTool.fsproj
index 7bd2f31f8..e57c3b809 100644
--- a/docsrc/tools/docsTool.fsproj
+++ b/docsrc/tools/docsTool.fsproj
@@ -2,7 +2,7 @@
Exe
- net7.0
+ net8.0
diff --git a/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj b/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
index f25f1af8f..69477d202 100644
--- a/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
+++ b/src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj
@@ -8,7 +8,7 @@
Exe
Debug;Release;Fable
AnyCPU
- net7.0
+ net8.0
diff --git a/src/FSharpPlus/Control/Applicative.fs b/src/FSharpPlus/Control/Applicative.fs
index 98ce29f37..e7a3ea41a 100644
--- a/src/FSharpPlus/Control/Applicative.fs
+++ b/src/FSharpPlus/Control/Applicative.fs
@@ -28,7 +28,7 @@ type Apply =
#if !FABLE_COMPILER
static member ``<*>`` (struct (f: Task<_> , x: Task<'T> ), _output: Task<'U> , []_mthd: Apply) = Task.apply f x : Task<'U>
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member ``<*>`` (struct (f: ValueTask<_> , x: ValueTask<'T> ), _output: ValueTask<'U> , []_mthd: Apply) : ValueTask<'U> = ValueTask.apply f x
static member ``<*>`` (struct (_: DmStruct1<_> , _: DmStruct1<'T> ), _output: DmStruct1<'U> , []_mthd: Apply) : DmStruct1<'U> = Unchecked.defaultof>
#endif
@@ -112,7 +112,7 @@ type Lift2 =
#if !FABLE_COMPILER
static member Lift2 (f, (x: Task<'T> , y: Task<'U> ), _mthd: Lift2) = Task.lift2 f x y
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Lift2 (f, (x: ValueTask<'T> , y: ValueTask<'U> ), _mthd: Lift2) = ValueTask.lift2 f x y
#endif
static member Lift2 (f, (x , y ), _mthd: Lift2) = Async.lift2 f x y
@@ -161,7 +161,7 @@ type Lift3 =
#if !FABLE_COMPILER
static member Lift3 (f, (x: Task<'T> , y: Task<'U> , z: Task<'V> ), _mthd: Lift3) = Task.lift3 f x y z
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Lift3 (f, (x: ValueTask<'T> , y: ValueTask<'U> , z: ValueTask<'V> ), _mthd: Lift3) = ValueTask.lift3 f x y z
#endif
static member Lift3 (f, (x , y , z ), _mthd: Lift3) = Async.lift3 f x y z
diff --git a/src/FSharpPlus/Control/Comonad.fs b/src/FSharpPlus/Control/Comonad.fs
index 8f6e76f78..d4d175892 100644
--- a/src/FSharpPlus/Control/Comonad.fs
+++ b/src/FSharpPlus/Control/Comonad.fs
@@ -30,7 +30,7 @@ type Extract =
#if !FABLE_COMPILER
static member Extract (f: Task<'T> ) = f.Result
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Extract (f: ValueTask<'T> ) = f.Result
#endif
static member inline Invoke (x: '``Comonad<'T>``) : 'T =
@@ -67,7 +67,7 @@ type Extend =
tcs.Task
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member (=>>) (g: ValueTask<'T> , f: ValueTask<'T> -> 'U ) : ValueTask<'U> =
if g.IsCompletedSuccessfully then
try
diff --git a/src/FSharpPlus/Control/Converter.fs b/src/FSharpPlus/Control/Converter.fs
index aff56e6f6..a3b720071 100644
--- a/src/FSharpPlus/Control/Converter.fs
+++ b/src/FSharpPlus/Control/Converter.fs
@@ -142,7 +142,7 @@ type TryParse =
let mutable r = Unchecked.defaultof< ^R>
if (^R: (static member TryParse : _ * _ -> _) (value, &r)) then Some r else None
- #if NET7_0
+ #if NET7_0_OR_GREATER
/// IParsable<'T>
static member InvokeOnInterface<'T when 'T :> IParsable<'T>> (value: string) =
let mutable r = Unchecked.defaultof<'T>
@@ -199,7 +199,7 @@ type Parse with
static member inline Parse (_: ^R , _: Default2) : string -> ^R = Parse.InvokeOnInstance
- #if NET7_0
+ #if NET7_0_OR_GREATER
static member Parse<'T when 'T :> IParsable<'T>> (_: 'T, _: Default1) = fun (x: string) -> 'T.Parse (x, CultureInfo.InvariantCulture)
static member inline Parse (_: ^t when ^t: null and ^t: struct, _: Default1) = id
#else
@@ -217,7 +217,7 @@ type TryParse with
static member inline TryParse (_: 'R, _: Default2) : string -> 'R option = TryParse.InvokeOnInstance
- #if NET7_0
+ #if NET7_0_OR_GREATER
static member inline TryParse (_: 'R, _: Default1) : string -> 'R option = TryParse.InvokeOnInterface
static member inline TryParse (_: ^t when ^t: null and ^t: struct, _: Default1) = id
#else
diff --git a/src/FSharpPlus/Control/Functor.fs b/src/FSharpPlus/Control/Functor.fs
index e0f46a351..1da56bd46 100644
--- a/src/FSharpPlus/Control/Functor.fs
+++ b/src/FSharpPlus/Control/Functor.fs
@@ -68,7 +68,7 @@ type Map =
#if !FABLE_COMPILER
static member Map ((x: Task<'T> , f: 'T->'U), _mthd: Map) = Task.map f x : Task<'U>
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Map ((x: ValueTask<'T> , f: 'T->'U), _mthd: Map) = ValueTask.map f x : ValueTask<'U>
#endif
static member Map ((x: option<_> , f: 'T->'U), _mthd: Map) = Option.map f x
@@ -154,7 +154,7 @@ type Unzip =
#if !FABLE_COMPILER
static member Unzip ((source: Task<'T * 'U> , _output: Task<'T> * Task<'U> ) , _mthd: Unzip ) = Map.Invoke fst source, Map.Invoke snd source
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Unzip ((source: ValueTask<'T * 'U> , _output: ValueTask<'T> * ValueTask<'U> ) , _mthd: Unzip ) = Map.Invoke fst source, Map.Invoke snd source
#endif
static member Unzip ((source: option<'T * 'U> , _output: option<'T> * option<'U> ) , _mthd: Unzip ) = Option.unzip source
@@ -225,7 +225,7 @@ type Zip =
#if !FABLE_COMPILER
static member Zip ((x: Task<'T> , y: Task<'U> , _output: Task<'T*'U> ), _mthd: Zip) = Task.zip x y
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Zip ((x: ValueTask<'T> , y: ValueTask<'U> , _output: ValueTask<'T*'U> ), _mthd: Zip) = ValueTask.zip x y
#endif
diff --git a/src/FSharpPlus/Control/Monad.fs b/src/FSharpPlus/Control/Monad.fs
index 757718be6..029d9f7c5 100644
--- a/src/FSharpPlus/Control/Monad.fs
+++ b/src/FSharpPlus/Control/Monad.fs
@@ -22,7 +22,7 @@ type Bind =
static member (>>=) (source: Task<'T> , f: 'T -> Task<'U> ) = Task.bind f source : Task<'U>
static member (>>=) (source , f: 'T -> _ ) = Nullable.bind f source : Nullable<'U>
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member (>>=) (source: ValueTask<'T> , f: 'T -> ValueTask<'U> ) = ValueTask.bind f source : ValueTask<'U>
#endif
@@ -83,7 +83,7 @@ type Join =
#if !FABLE_COMPILER
static member Join (x: Task> , []_output: Task<'T> , []_mthd: Join ) = Task.join x : Task<'T>
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Join (x: ValueTask> , []_output: ValueTask<'T> , []_mthd: Join ) = ValueTask.join x : ValueTask<'T>
#endif
static member Join (x , []_output: option<'T> , []_mthd: Join ) = Option.flatten x : option<'T>
@@ -144,7 +144,7 @@ type Return =
#if !FABLE_COMPILER
static member Return (_: 'T Task , _: Return ) = fun x -> Task.FromResult x : 'T Task
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Return (_: 'T ValueTask , _: Return ) = fun (x: 'T) -> ValueTask<'T> x : 'T ValueTask
static member Return (_: 'T DmStruct1 , _: Return ) = fun (_: 'T) -> Unchecked.defaultof<_> : 'T DmStruct1
#endif
@@ -196,7 +196,7 @@ type Delay =
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Delay (_mthd: Delay , x: unit-> ValueTask<_> , _ ) = x () : ValueTask<'T>
#endif
diff --git a/src/FSharpPlus/Control/Monoid.fs b/src/FSharpPlus/Control/Monoid.fs
index 023b21f2f..89ce9933e 100644
--- a/src/FSharpPlus/Control/Monoid.fs
+++ b/src/FSharpPlus/Control/Monoid.fs
@@ -118,7 +118,7 @@ type Plus with
static member inline ``+`` (x: 'a Task, y: 'a Task, []_mthd: Plus) = Task.lift2 Plus.Invoke x y
#endif
-#if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+#if !NETSTANDARD2_0 && !FABLE_COMPILER
type Plus with
static member inline ``+`` (x: 'a ValueTask, y: 'a ValueTask, []_mthd: Plus) = ValueTask.lift2 Plus.Invoke x y
diff --git a/src/FSharpPlus/Control/Numeric.fs b/src/FSharpPlus/Control/Numeric.fs
index 5761de756..2b2f64691 100644
--- a/src/FSharpPlus/Control/Numeric.fs
+++ b/src/FSharpPlus/Control/Numeric.fs
@@ -193,7 +193,7 @@ type Zero with
s.SetResult v
s.Task
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member inline Zero (_: ValueTask<'a>, _: Zero) : ValueTask<'a> =
let (v: 'a) = Zero.Invoke ()
ValueTask<'a>(v)
diff --git a/src/FSharpPlus/Control/ZipApplicative.fs b/src/FSharpPlus/Control/ZipApplicative.fs
index f3bbe4bd7..eed8efa72 100644
--- a/src/FSharpPlus/Control/ZipApplicative.fs
+++ b/src/FSharpPlus/Control/ZipApplicative.fs
@@ -38,7 +38,7 @@ type Pure =
#if !FABLE_COMPILER
static member Pure (_: 'T Task , _: Pure) = fun x -> Task.FromResult x : 'T Task
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Pure (_: 'T ValueTask , _: Pure) = fun (x: 'T) -> ValueTask<'T> x : 'T ValueTask
#endif
static member Pure (x: option<'a> , _: Pure) = Return.Return (x, Unchecked.defaultof)
@@ -89,7 +89,7 @@ type ZipApply =
#if !FABLE_COMPILER
static member ``<.>`` (struct (f: Task<_> , x: Task<'T> ), []_output: Task<'U> , []_mthd: ZipApply) = Task.map2 (<|) f x
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member ``<.>`` (struct (f: ValueTask<_> , x: ValueTask<'T> ), []_output: ValueTask<'U> , []_mthd: ZipApply) = ValueTask.map2 (<|) f x
#endif
static member ``<.>`` (struct (f: Async<_> , x: Async<'T> ), []_output: Async<'U> , []_mthd: ZipApply) : Async<'U> = Async.map2 (<|) f x
@@ -147,7 +147,7 @@ type Map2 =
#if !FABLE_COMPILER
static member Map2 (f, (x: Task<'T> , y: Task<'U> ), _mthd: Map2) = Task.map2 f x y
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Map2 (f, (x: ValueTask<'T> , y: ValueTask<'U> ), _mthd: Map2) = ValueTask.map2 f x y
#endif
static member Map2 (f, (x , y ), _mthd: Map2) = Async.map2 f x y
@@ -194,7 +194,7 @@ type Map3 =
#if !FABLE_COMPILER
static member Map3 (f, (x: Task<'T> , y: Task<'U> , z: Task<'V> ), _mthd: Map3) = Task.map3 f x y z
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
static member Map3 (f, (x: ValueTask<'T> , y: ValueTask<'U> , z: ValueTask<'V> ), _mthd: Map3) = ValueTask.map3 f x y z
#endif
static member Map3 (f, (x , y , z ), _mthd: Map3) = Async.map3 f x y z
diff --git a/src/FSharpPlus/Extensions/Extensions.fs b/src/FSharpPlus/Extensions/Extensions.fs
index 8f5638317..ac458e21b 100644
--- a/src/FSharpPlus/Extensions/Extensions.fs
+++ b/src/FSharpPlus/Extensions/Extensions.fs
@@ -70,7 +70,7 @@ module Extensions =
#endif
- #if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+ #if !NETSTANDARD2_0 && !FABLE_COMPILER
type ValueTask<'t> with
diff --git a/src/FSharpPlus/Extensions/ValueTask.fs b/src/FSharpPlus/Extensions/ValueTask.fs
index 0d55c1471..7ce8dc9a9 100644
--- a/src/FSharpPlus/Extensions/ValueTask.fs
+++ b/src/FSharpPlus/Extensions/ValueTask.fs
@@ -1,6 +1,6 @@
namespace FSharpPlus
-#if !NET45 && !NETSTANDARD2_0 && !FABLE_COMPILER
+#if !NETSTANDARD2_0 && !FABLE_COMPILER
/// Additional operations on ValueTask<'T>
[]
diff --git a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
index f0be1415b..e1f00804a 100644
--- a/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
+++ b/tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj
@@ -12,7 +12,7 @@
AnyCPU
$(DefineConstants);TEST_TRACE
$(DefineConstants);FABLE_COMPILER
- net7.0;net8.0
+ net8.0
diff --git a/tests/benchmarks/Benchmarks.fsproj b/tests/benchmarks/Benchmarks.fsproj
index 584d25237..6d66ea647 100644
--- a/tests/benchmarks/Benchmarks.fsproj
+++ b/tests/benchmarks/Benchmarks.fsproj
@@ -1,6 +1,6 @@
- net7.0
+ net8.0
Exe
AnyCPU
true