Dear Florian, Stefan, Okay, you've hit Clang bug 24186 [1], introduced in Clang 16 and fixed in Clang 20. It seems like the Clang people eagerly implemented core issue CWG1467 [2] which changed the semantics of ctors with initializer lists. It was later clarified and partly reverted in CWG2137 [3]. However, this still wasn't ideal since people wanted to elide ctors in some cases, so it was re-addressed in CWG2311 [4]. My reading is that we can forget about this last core issue because we aren't dealing with a ctor from a prvalue here. I don't see an easy workaround, even when using round parenthesis for ctors of lsts with one element. So, I propose to ignore the problem (and possibly recommend using a very recent compiler instead). On another note, we should try and keep the code formatting uniform throughout the GiNaC library. I hate having to do that, but I hate later quibbling about coding style even more: May I ask you to * write opening { on the same level as closing } when they are not on the same line, in particular those of functions, * avoid tabs unless at beginning of lines, see [5] (mostly done), and * add a space after keywords and the parenthesis following them, i.e. if (cond) instead of if(cond), likewise with 'for', 'while' loops... Everything else looks fine to me! If you feel unsure, please tell me, and I'll do that formatting. One last thing before releasing: Could you write an entry for the NEWS file, please? All my best, -richy. [1] <https://github.com/llvm/llvm-project/issues/24186> [2] <https://wg21.link/CWG1467> [3] <https://wg21.link/CWG2137> [4] <https://wg21.link/CWG2311> [5] <https://www.cebix.net/indentation.html> -- Richard B. Kreckel <https://in.terlu.de/~kreckel/>