2014-02-01 <
pot...@gmail.com>:
>
> On Feb 1, 2014, at 9:49 PM, Daniel Krügler <
daniel....@gmail.com>
> wrote:
>
> Yes, I'm aware of this and this is the reason why I think that it is
> just part of the joke.
>
>
> So it comes full circle...
>
> I just read N3553, and I don't see a mention of motivation for using
> punctuation mentioned -- it seems taken for granted. Moreover the proposed
> :=: is right-associative, such that a sequence of swap operations implements
> a rotation. Right associativity implies rightward-by-one rotation (and
> evaluation to the initially rightmost value stored in the leftmost object),
> which is nice, but a bit arbitrary and sure to confuse many. Also, a rename
> would force migration of all preexisting code using the name swap.
N3553 was discussed during the Bristol meeting by the Evolution group.
I didn't participate during that discussion but from the wiki notes
the discussion ended with the following:
"Daveed: does it really solve them? The operator will still be found by ADL.
Matt: maybe, since this would use an intrinsic in place of the general
std::swap template.
Bjarne: But swap() isn't going away because of backward compatibility,
so now we'll have swap() and operator:=:. "Probably a good idea if we
had a time machine". Introducing a new operator, it has to be really
central and helpful. If it got us out of our swap problem it might be
good enough, but it isn't. Libraries aren't going to stop calling swap
and if they did then all the specialized swap functions people have
written wouldn't get invoked. Problems are real, but the benefits it
would have (i.e. what problem it would actually solve) aren't
sufficiently explained. Too likely that swap and :=: would coexist
indefinitely and that all the problems of swap would persist.
General agreement that this is a real problem but that it's not clear
why this would solve them. We will not proceed with this. "
So, yes, there were several problems of the proposal mentioned, albeit
I couldn't find your point.
- Daniel