On Tuesday, 27 February 2018 at 21:07:03 UTC, H. S. Teoh wrote:
On Tue, Feb 27, 2018 at 01:33:18PM -0700, Jonathan M Davis via
Digitalmars-d wrote: [...]
[...]
Not strictly true. My old C++98 project no longer compiled
with the latest g++, because it contained things allowed in
C++98 that are no longer allowed in C++17. Some things were
relatively simple to fix, but others were quite painful to fix,
so I ended up using --std=c++11 as a workaround instead. In
the frustrating process of trying to fix things C++17 complains
about, I threw in the towel and decided to rewrite it in D
instead.
[...]
The fun with C++
the same expression means completely different things in C++98
and C++11
fon< fun< 1 >>::three >::two >::one
and there's no context change, it's parsing rules that changed.
https://gustedt.wordpress.com/2013/12/18/right-angle-brackets-shifting-semantics