On Sun, Apr 28, 2013 at 2:58 PM, Guillaume Papin <[email protected]
> wrote:
> I implemented it in cpp11-migrate at first but then thought it would be
> a better fit next to hasInlineBody(), so it would mimic
> FunctionDecl::hasBody()/getBody(). It feels strange to me to have
> hasInlineBody() without its getter counterpart. But no problem for me to
> put it back in cpp11-migrate.
>
> I tried to find a case where it's risky to insert the override but I
> couldn't find one (e.g: a specialization dropping 'virtual' is not
> matched). Do you have one in mind?
Something like this:
template<typename T> struct Derived : T {
void f(); // adding 'override' here will break instantiation of
Derived<Base2>
};
struct Base1 {
virtual void f();
};
struct Base2 {};
Derived<Base1> d1;
Derived<Base2> d2;
> Richard Smith <[email protected]> writes:
>
> > I'm not convinced this is the right approach: getInlineBody has weird
> > semantics and thus it doesn't seem like a good fit as a general
> > purpose AST interface. It would make a lot more sense to me to have
> > the fallback to the template in the cpp11-migrate code, where it can
> > also handle other consequences of this, such as classifying such a fix
> > as "risky" (because it might not be correct for every instantiation).
> >
> > On Sun, Apr 28, 2013 at 7:21 AM, Guillaume Papin
> > <[email protected]> wrote:
> >
> > Uh, embarrassing, of course I failed the attachments:
> >
> >
> >
> > --
> > Guillaume Papin
> >
> > _______________________________________________
> > cfe-commits mailing list
> > [email protected]
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
> >
> >
>
> --
> Guillaume Papin
>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits