To the topic. In the following sentence of the standard: "The lifetime ([basic.life]) of an object referenced by *ptr shall exceed the lifetime of all atomic_refs that reference the object.", I can't understand why, instead of lifetime restrictions, do not prohibit the use of std::atomic_ref after the lifetime of the referenced object ends (like dangling references). This is inconvenient, because before deleting an object, you have to delete atomic_ref. Even more, the restriction from the standard does not allow, as it seems to me, to use valid programs.