Since c++17 it is mandatory launder memory when casting an address to a different type that was constructed there with placement-new. Not doing this is undefined behaviour.
We use the feature-flag defined by the standard library to detect whether it is correctly defined inside the standard library.
Since c++17 it is mandatory launder memory when casting an address to a different type that was constructed there with placement-new. Not doing this is undefined behaviour.
We use the feature-flag defined by the standard library to detect whether it is correctly defined inside the standard library.