https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69293

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Actually I think this is a defect in the standard, it is inconsistent to check
is_constructible<T, inner_allocator_type> but then pass inner_allocator_type&.

Consider this type:

struct use_arg {
  using allocator_type = std::allocator<use_arg>;
  use_arg(allocator_type&&) { }
};

The uses_allocator and is_constructible traits are both true, but
scoped_allocator_adaptor::construct(pointer) will fail to compile.

Reply via email to