On Wed, Nov 18, 2020 at 11:17 AM Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > > I don't think it's a good idea. The focus now is all about dropping > the qualifiers but in code like: > const int x; > typeof(c) y; > don't we want 'y' to also have the type 'const int'? I assume you meant "typeof(x)". But yes, absolutely. Which is why my suggested example patch had that explicit test for "is_lvalue()". So only for non-lvalues would it strip the qualifiers. So "typeof(((void)0,x)) y;" would be "int", because that expression inside the typeof isn't an lvalue. But if you have something that is already doing the generic case, then that's obviously better. My suggestion was more of a "we can zero in on just that typeof case" thing. Linus