[cfe-commits] [patch] fix for PR11216
David Blaikie
dblaikie at gmail.com
Tue Oct 25 08:06:15 PDT 2011
> It looks pretty good, but I have two requests:
Thanks Doug, committed as r142926
> 1) The "else" that handles class-names is really long. I think the flow would be better if decltype() was handled completely in its own "if" early on, since it shares so little code with the class-name case.
Sure. I was sitting on the fence about how to handle that. The diff
certainly wasn't kind to indenting that code one level.
> 2) Please add some tests that have a dependent decltype expression, to make sure template instantiation works. I'm sure it will, but...
Yep (it's really nice how much of this "just works", really). I added this case:
template<typename T>
struct Derived3 : decltype(T().foo()) { };
struct Foo { Base foo(); };
Derived3<Foo> d;
(& sanity checked myself by deliberately breaking it by renaming
Foo::foo to Foo::fob, at which point it failed appropriately - I
suppose I could add the negative test too if that's appropriate)
More information about the cfe-commits
mailing list