The attached patch implements DR85 [*] which disallows the existence of a declaration of a member class that isn't a forward declaration before it's definition.
This means that the following would be disallowed:
class A {
struct B; // note here
struct B; // error here
};
as well as:
class C {
struct B {}; // note here
struct B; // error here
};
I'm very open to suggestions on the diagnostic, I couldn't think of a great
one that doesn't boil down to "this is forbidden because the standard says
so."
[*] http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#85
Thanks
--
David Majnemer
dr85.diff
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
