You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: AOT compatibility - move collection properties to extension methods
Move Array, Array2D, List, HashSet, and ArrayUnique from Gen<T> instance
properties to extension methods on the static Gen class. This prevents
infinite generic type expansion during NativeAOT compilation (ILC) when
Gen<T> is instantiated for self-referential types.
BREAKING CHANGE: .Array, .Array2D, .List, .HashSet, .ArrayUnique are now
methods requiring parentheses: .Array(), .Array2D(), .List(), .HashSet(),
.ArrayUnique(). Indexer syntax is unchanged: .Array()[0, 5].
- Add IsAotCompatible to CsCheck.csproj
- Update all call sites in library, tests, and documentation
- Verified: 299 tests pass, NativeAOT compiles including recursive types
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ The following tests are in ~~xUnit~~ TUnit but could equally be used in any test
35
35
36
36
More to see in the [Tests](https://github.com/AnthonyLloyd/CsCheck/tree/master/Tests). There are also 1,000+ F# tests using CsCheck in [MKL.NET](https://github.com/MKL-NET/MKL.NET/tree/master/Tests).
37
37
38
-
No Reflection was used in the making of this product. CsCheck is close to being AOT compatible but 'generic recursion is AOT kryptonite'.
38
+
No Reflection was used in the making of this product. CsCheck is AOT compatible.
0 commit comments