Abel Braaksma

Results 495 comments of 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...