Обнаружил такое вот странное поведение кода генерируемого g++.
obj.method(arg1).method(arg2).method(arg3);
все аргументы считаются ДО вызова method, причём в таком порядке arg3->arg2->arg1.
Я понимаю, что порядок вычисления нескольких аргументов одной функции не специфицирован.
Но тут то вызовы разные, и порядок вызовов железобетонен, с какого перепугу считать arg3 первым?
Курители стандарта, что скажут?