Xazax-hun wrote: > I know that's a fair amount of effort though and we could maybe just live > with these being kind of broken... but at the same time, I couldn't support > standardization for these (as-is) either and that's unfortunate given the > interest both C and C++ have in improving safety around lifetime.
If we push for a deprecation and make projects migrate, propose something for standardization and the spelling or some other aspects change in the process, we would force two migrations on our users. I think the right course of action here might be to not deprecate the current behavior but propose the new spelling for standardization and only have one wave of deprecation when the new spelling is approved. What do you think? > For example, with virtual inheritance, overriders cannot generally have a > more lax specification than the base function, but you can with lifetimebound I would argue that this is something that we want to diagnose (as a warning). That being said, we could do the same with declaration attributes. > It's not an implication, it's the behavior specified by the standard. I understand that part but I would argue that the standard is quite inconsistent. E.g., contracts have the position behind the parameter list, yet they apply to the declaration and not to the type. https://github.com/llvm/llvm-project/pull/196549 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
