Hi Alan, Alan Mackenzie writes: > So, can I close bug#72695 now? Ah, excuse me. Yes, I do believe so. >> I'm not sure this is a bug but it is something I noticed by accident: > >> (std::visit >> ([] >> (const T& data) >> { >> })); > >> ... the { is not an inline-open, but an arglist-cont-nonempty (though, >> to be clear, the body is indented okay; I've elided it from the example >> above for that reason). > > That is a bug, yes, but a different bug. Could I ask you to raise a new > Emacs bug report for it, please? I can do so tomorrow - getting drowsy at this point. > I think it will require some effort to solve, since it involves "function > type" constructs inside parentheses, which I think was something new to > CC Mode with C++20 (but I'm not sure). Rather than just relying on the > context of the outer (, c-guess-basic-syntax will have to examine the > contents of (...) to get better analysis. Hmm, I think this was here in 11 also (and perhaps before, due to the GNU statement expression extension). >> Same goes for the (const T& data), which doesn't get indented the same >> as a 'standalone' lambda, but it does indent the same as one saved into >> a variable: > >> [] >> () >> { >> }; >> auto x = >> [] >> () >> { >> }; >> auto x = >> ([] >> () >> { >> }); > >> I do not know whether this is correct. > > Neither do I, this late at night. ;-) I'll have a look at all these > examples tomorrow. :-) Thanks. I will file a bug with these tomorrow. Have a lovely evening! -- Arsen Arsenović