Abel Braaksma
Abel Braaksma
Ah, I didn't know that. There's really very little info about that attribute ;)
We (@kerry-perret and I) discussed this briefly over the weekend and found that the code as written is [documented as _not being allowed_](https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/generics/statically-resolved-type-parameters). Mainly, member constraints can only be used...
It's a bit of a guess, but I think this is by design. Your code doesn't do boxing, and the compiler doesn't automatically do that for statically resolved parameters. If...
> I believe that's a very bad idea to compile code in such a way that's guaranteed to fail in runtime. I agree, but there are a lot of cases...
Actually, I now think this is solvable, because virtual members on structs can only ever be the ones defined on object (and interfaces, but that's not possible without new language...
Related, and a potential alternative path (that is: a community led `TaskEx` lib): https://github.com/fsprojects/FSharp.Control.TaskSeq/issues/128.
Note that `Async.Await(ValueTask)` will be NS2.1 only. Is it wise to put all these overloads in `Async`? It may be hard to discover, people would probably expect task-like operations to...
I tend to agree with @auduchinok that we shouldn't fail when it comes to consuming other libraries. @vzarytovskii, it wouldn't be too hard to implement this through `use x =...
The [referenced document](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/using#pattern-based-using) isn't very clear on whether having the `Dispose()` method present on any type is enough, or whether it must be a `ref` type. I agree, though, that...
We can also just go one step further and essentially do it the way it would work as if SRTP were conditionally applied. That is, if the `Dispose -> unit...