diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8e38e8b..8d7d14b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,7 +26,6 @@ jobs: 3.1.x 5.0.x 6.0.x - 7.0.x 8.0.x 9.0.x include-prerelease: true @@ -50,11 +49,15 @@ jobs: 3.1.x 5.0.x 6.0.x + 8.0.x + 9.0.x include-prerelease: true - name: Restore dependencies run: dotnet restore - name: Build run: dotnet build -c Release --no-restore -p:NoWarn=CS1591 + - name: Test Again + run: dotnet test -c Release --no-build --no-restore --verbosity normal - name: Pack run: dotnet pack -o publishOutput -c Release --no-restore --no-build --verbosity normal # Runs a set of commands using the runners shell diff --git a/README.md b/README.md index 5b2eb94..1bd3a75 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
- +
@@ -17,7 +17,7 @@ - Non-Public Constructor Support - No Generic Constraints - Compatible with .NET Standard 2.0 - - Multiple backend implementations. + - Multiple backend implementations - Heavily tested on Win/Mac/Linux - 🪛 **Modern** Compiler Integration @@ -25,7 +25,7 @@ - Highly Configurable ([Props](https://github.com/Nyrest/FastGenericNew/wiki/SourceGenerator-Options)) - Multi-threaded Generation -- 🔥 **Lastest** C#/.NET Features Support +- 🔥 **Latest** C#/.NET Features Support - [C# 8 Nullable](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-reference-types) Support - [C# 10 Parameterless struct constructors](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/parameterless-struct-constructors) Support (Both invokes or not) - WebAssembly Support @@ -76,7 +76,7 @@ var obj2 = FastNew.CreateInstance("text"); var obj3 = FastNew.CreateInstance("text", 0); // Try pattern -// NOTE: Try pattern will only check the constructor could be called (exist & callable) +// NOTE: The try pattern will only check if the constructor can be called. // It will not catch or handle any exceptions thrown in the constructor. if (FastNew.TryCreateInstance("arg0", out T result)); { @@ -90,8 +90,8 @@ if (FastNew.TryCreateInstance("arg0", out T result)); > the constraint is `where T : new()` but appears to **ignore the parameterless constructor if the constraint is `where T : struct`**. > **But `FastNew.CreateInstance()` will always invoke the parameterless constructor if it's available.** > -> If you don't want to invoke the parameterless constructor of **ValueType**. -> Consider to use `FastNew.NewOrDefault()` which **will never invoke the parameterless constructor of `ValueType`** +> If you don't want to invoke the parameterless constructor of **ValueType**, +> consider using `FastNew.NewOrDefault()` which **will never invoke the parameterless constructor of `ValueType`** ## 🚀 Benchmark