Uno.CodeGen
Uno.CodeGen copied to clipboard
A set of source generators for equality, immutability, ...
Hello, very interesting library, thank you :) ## I'm submitting a... Bug report / Feature request ## Current behavior To reproduce, just apply `GeneratedEquality` to any `readonly struct`. The generated...
## I'm submitting a… - Feature request ## Current behavior Methods generated by Uno.CodeGen usually do not have unit tests, but it makes code coverage reports find them not covered....
## Feature request Should generate helpers to manage collections and dictionaries on immutable entities. ## Example Declaration ``` csharp [GeneratedImmutable] public class MyClass { public ImmutableArray Favorites { get; }...
# Feature request ## Current behavior Take this code: ``` var a = A.Default; var b = a.WithName("myName"); var c = a.WithName("myName"); if(b == c || a == b ||...
# Bug report Derived class for a `IKeyEquatable` class should be `IKeyEquatable` also using the same key (if none defined on derived class) ``` csharp [GeneratedImmutable] public partial class A...
## I'm submitting a... - Bug report (I searched for similar issues and did not find one) ## Current behavior Writing this: ```csharp [EqualityHash] public DayOfWeek DayOfWeek { get; }...
The `IKeyEquatable` interface (and its generic version) should be moved to `Uno.Equality` project. Also the generic version should derive from the non-generic one.
``` csharp [assembly: ImmutableGenerationOptions(TreatArrayAsImmutable = false)] ``` This setting won't generate the expected error in the generated file.
When comparing `double` or `single` (floating point types), the comparison should be done using an epsilon instead of a straight equality.