Paul Westcott

Results 26 comments of Paul Westcott

The did leave remnants of this optimization in there (which, you could argue, are breaking changes...): var count = 0; var ignore = Enumerable .Range(0, 100) .Select(x => { ++count;...

> Is this PR breaking? > No. This is (supposed to be just) an optimization. Well... It'll be calling IEquatable.Equals, not object.Equals, which is hence a breaking change - albeit...

> @manofstick Could you remind me of the specific thing that causes the call to IEquatable.Equals

@psfinaki ...forgive my github comment coding, I think memory serves, but it's more than enough for the gist of things if it's incorrect... ```fsharp [] // only for sealed type...

> >64 bit value types > This became marginally faster I'm just relying on your words here, as I have not built this, but they should be significantly faster, and...

FYI I'm attacking some boxing issues in #513, but this case is still kind of an issue (your second example no longer causes boxing with that change applied). As I've...

@asik An alternative to NonStructuralComparison could be ``` module EquatableModule = let inline eq System.IEquatable

@asik Oh, and you're still going to run into lots of trouble using value types anyway. Using them as keys to containers, embedding them in other objects, in the 64-bit...

@asik, Will I wouldn't really recommend it, but each to their own; and whoever has to support the code in the future! As overriding = would mean that they couldn't...

@OnurGumus The Phoenix of #513 will rise again at some stage, but i have been on a bit of a round about adventure which sees me currently in #2587 Although...