Sure. After I pointed out that the original code was flawed, he
changed it. (I think I have the original code on my other computer, I
can probably send it to you in a few hours if you're interested.)
Either way, the claim "The right-associative grouping accidentally
drops the finalizer." itself is incorrect: there's no question of
whether or not finalization occurs, the question is how it occurs. The
way he's structured the code, the finalizer for the first field in
mySink will be called, not the second field. Since he's not provided a
finalizer, no finalizer is being called. It's not a bug, it's intended
behavior.
The only aspect of all this that you can claim is a bug is that
returning leftovers without consuming input produces non-associative
behavior. Doing so is a violation of the invariants, and this same
condition has existed since enumerator. My proposed Leftover
constructor lets code work even when violating this invariant, even
though it makes no sense to use it.
The author did admit that his other claim about finalizers was
incorrect, but only did so by striking out the text at the end of the
post. As for the other two points in the post, I think it's already
been thoroughly shown that they have no basis, but I can clarify that
as well if it will set people's minds at ease.
In other words, the only claim from the blog that is true is that data
loss can occur if you return leftovers without consuming input. I do
not consider that buggy behavior, but even so my 0.5 proposal fixes
it.
Michael