Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LWG-3778 vector<bool> missing exception specifications #3226

Closed
StephanTLavavej opened this issue Nov 15, 2022 · 1 comment · Fixed by #3332
Closed

LWG-3778 vector<bool> missing exception specifications #3226

StephanTLavavej opened this issue Nov 15, 2022 · 1 comment · Fixed by #3332
Labels
fixed Something works now, yay! LWG Library Working Group issue

Comments

@StephanTLavavej
Copy link
Member

StephanTLavavej commented Nov 15, 2022

LWG-3778 vector<bool> missing exception specifications

We have some strengthening, but we need to align this with the Standard. (It's okay if we end up with properly-commented strengthening beyond what this LWG issue resolution provides.)

@StephanTLavavej StephanTLavavej added the LWG Library Working Group issue label Nov 15, 2022
@frederick-vs-ja
Copy link
Contributor

Allocator rebinding wasn't discussed in WG21-N4258, and implementations seemly assume that rebound allocators have the same properties of propagation as user-provided allocators. It seems that we can't reasonably implement the standard requirements if _Choose_pocma_v<_Alvbase> is _No_propagate_allocators while _Choose_pocma_v<_Alloc> has a different value.

I think it may be necessary to resolve LWG-3267 more completely by requiring that

  • is_always_equal::value,
  • propagate_on_container_copy_assignment::value,
  • propagate_on_container_move_assignment::value, and
  • propagate_on_container_swap::value

are all equal for allocator_traits<X> and allocator_traits<Y>.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed Something works now, yay! LWG Library Working Group issue
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants