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

Resolve TODO in aligned_allocator #2298

Closed
wants to merge 1 commit into from

Conversation

scuzqy
Copy link
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?

Copy link

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.

@scuzqy scuzqy force-pushed the AlignedAllocatorPOD branch from df933ce to fa07d18 Compare August 9, 2024 17:50
jan-wassenberg
jan-wassenberg previously approved these changes Aug 12, 2024
Copy link
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
Contributor Author

scuzqy commented Jan 20, 2025

Will this be merged?

@jan-wassenberg
Copy link
Member

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

@jan-wassenberg
Copy link
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
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 force-pushed the AlignedAllocatorPOD branch from a466de5 to d3b1abe Compare January 21, 2025 01:37
@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 <[email protected]>:

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
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