>>71
range-based for は等価なコードを示す形で意味論が規定されてる。
https://timsong-cpp.github.io/cppwp/n3337/stmt.ranged
「こう書いた場合の挙動と等しい」という説明が「このように展開される」と誤解されたんだろう。
コンパイラの内部で実際に展開しても構わないんだが
プリプロセッサはフェイズの整合性がとれなくなるのでこの展開をプリプロセッサでは実現できない。