ldionne added a comment. In https://reviews.llvm.org/D51789#1235096, @rsmith wrote:
> In https://reviews.llvm.org/D51789#1234903, @ldionne wrote: > > > I think now's a good time to bikeshed the name of the attribute if you have > > other suggestions. > > > OK, so the semantics of this attribute are "explicit instantiation > declarations or definitions applied to the enclosing class do not apply to > this member", right? So it opts the member out of both `extern template` and > (non-`extern`) `template`, but only when applied to an enclosing class. Yes, but it also (obviously) opts the member out when applied to the member itself, not only to an enclosing class. > Maybe something like `exclude_from_explicit_instantiation`? That's a little > longer than I'd like, but if it's going to be hidden behind a macro most of > the time I could live with it. I like this a lot too. I thought about that one and was deterred by the length, but it may be acceptable. Realistically, it's also not an attribute we want people to use most of the time. > Or maybe `no_transitive_instantiation`? That's less explicit about the > purpose of the attribute, but is a more comfortable length. I'm not sure this one describes what the attribute is doing sufficiently closely. Unless we get a better suggestion soonish, I'll change it to `exclude_from_explicit_instantiation` and update the diff. Repository: rC Clang https://reviews.llvm.org/D51789 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits