Tomas Grosup
Tomas Grosup
Possible yes, but you might be losing valuable JIT-time optimization, especially to avoid bound checks. Not because it is impossible, but because 0-based is so predominant and therefore optimized for.
Even when declared in an F# namespace, the IL codegen would still put them into an implicit module and C# compiler would see them within a static class.
Like in many previous suggestions about extending the pattern matching language, active patterns are the recommended answer. Are they considered difficult to author, or perhaps a non-standard tool in one's...
I am marking this as probably not since many existing solutions have been shown and the suggestion did not get traction afterwards. That being said, a separate suggestion to bringing...
Diamond problems caused by DIMs still have to be detected, indeed. This situation could be lifted from the warning. I kind of understand the original defensiveness for arbitrary abstract slot...
> That behaviour simply negates the reason for any such error in the first place, because you don't even _need_ to implement `IA.A()`. Currently the error appears whenever there are...
This suggestion is approved in principle - once designed (via a RFC) and implemented (by anyone), it can be reviewed and merged in dotnet/fsharp. I am happy to guide anyone...
The motivating example with extending "allows ref struct" is by itself a reason to resolve this - I agree. Even though we might add syntactical support for "allows ref struc"...
It of course follows that the constraints would have to be copied over and still checked, not just ignored. Which is tricky for "allows ref struct" since F# will not...
"not null" constraint can be expressed, this is the syntax for doing a type augmentation for a Dictionary: ```fsharp module TypeAugmentDictionary = open System.Collections.Generic type Dictionary