Skip to content

Resolve TODO in aligned_allocator#2298

Closed
scuzqy wants to merge 1 commit intogoogle:masterfrom
scuzqy:AlignedAllocatorPOD
Closed

Resolve TODO in aligned_allocator#2298
scuzqy wants to merge 1 commit intogoogle:masterfrom
scuzqy:AlignedAllocatorPOD

Conversation

@scuzqy
Copy link
Copy Markdown
Contributor

@scuzqy scuzqy commented Aug 9, 2024

And updated corresponding test.
AllocateAligned was designed to take POD types only.

I also removed TestAllocateAlignedObjectWithoutDestructor because objects with constructor/destructor are obviously illegal input.
btw, restriction here can be one is_trivial, perhaps?

@google-cla
Copy link
Copy Markdown

google-cla Bot commented Aug 9, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

jan-wassenberg
jan-wassenberg previously approved these changes Aug 12, 2024
Copy link
Copy Markdown
Member

@jan-wassenberg jan-wassenberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding this :)

@scuzqy
Copy link
Copy Markdown
Contributor Author

scuzqy commented Jan 20, 2025

Will this be merged?

@jan-wassenberg
Copy link
Copy Markdown
Member

Thanks for following up. I see that our internal CI had failed and blocked the merge. Investigating..

@jan-wassenberg
Copy link
Copy Markdown
Member

Mind if we change the check to:

  static_assert(std::is_trivially_copyable<T>::value,
                "AllocateAligned: requires trivially copyable T");
  static_assert(std::is_trivially_destructible<T>::value,
                "AllocateAligned: requires trivially destructible T");

? We have internal users that trip over the standard layout and trivial requirements.

@scuzqy
Copy link
Copy Markdown
Contributor Author

scuzqy commented Jan 20, 2025

Mind if we change the check to:

  static_assert(std::is_trivially_copyable<T>::value,
                "AllocateAligned: requires trivially copyable T");
  static_assert(std::is_trivially_destructible<T>::value,
                "AllocateAligned: requires trivially destructible T");

? We have internal users that trip over the standard layout and trivial requirements.

Sure.
In fact is_trivial_xxx is better

Thanks for checking!

And updated corresponding test.
AllocateAligned was designed to take trivial types only.
@scuzqy scuzqy requested a review from jan-wassenberg January 21, 2025 10:22
copybara-service Bot pushed a commit that referenced this pull request Jan 21, 2025
--
fa07d18 by scuzqy <scuzqy@outlook.com>:

Resolve TODO in aligned_allocator

And updated corresponding test.
AllocateAligned was designed to take POD types only.

COPYBARA_INTEGRATE_REVIEW=#2298 from scuzqy:AlignedAllocatorPOD fa07d18
PiperOrigin-RevId: 717822922
@jan-wassenberg
Copy link
Copy Markdown
Member

Merged with the proposed modification. Thanks again!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants