Skip to content

<generator>: Don't use operator new[] and operator delete[] - #4621

Merged
Stephan T. Lavavej (StephanTLavavej) merged 2 commits into
microsoft:feature/generatorfrom
JMazurkiewicz:generator/no-new-array-op
May 10, 2024
Merged

Stephan T. Lavavej (StephanTLavavej) merged 2 commits into
microsoft:feature/generatorfrom
JMazurkiewicz:generator/no-new-array-op

Conversation

@JMazurkiewicz

Copy link
Copy Markdown
Contributor

_Promise_allocator<void>'s operator new(size_t) is specified to allocate memory with allocator<_Aligned_block> (see [coro.generator.promise]/17), which internally uses ::operator new, not ::operator new[] (see [allocator.members]/5).

Comment thread tests/std/tests/P2502R2_generator_promise/test.cpp Outdated
@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) added bug Something isn't working generator C++23 generator labels Apr 23, 2024
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) changed the title <generator>: Don't use new[] and delete[] operators <generator>: Don't use operator new[] and operator delete[] May 10, 2024
@StephanTLavavej
Stephan T. Lavavej (StephanTLavavej) merged commit 7ad2c73 into microsoft:feature/generator May 10, 2024
@StephanTLavavej

Copy link
Copy Markdown
Member

Great catch! 😺 I adjusted the PR title due to a mega-nitpick - operator new[] is the function being avoided here, whereas the new operator is when new T appears in source code. (new T[n] isn't really using a new[] operator, although it can generally be thought of that way.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working generator C++23 generator

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants