From 8659cb6d09ffc27aaf12ffe8e9117db2e85b9b88 Mon Sep 17 00:00:00 2001 From: MoYanxi <56785441+Yuria-Shikibe@users.noreply.github.com> Date: Wed, 15 Apr 2026 10:50:09 +0800 Subject: [PATCH] add _EXPORT_STD for start_lifetime_as --- stl/inc/memory | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stl/inc/memory b/stl/inc/memory index 15a9ade5147..a568cd03c27 100644 --- a/stl/inc/memory +++ b/stl/inc/memory @@ -4531,7 +4531,7 @@ _NODISCARD auto inout_ptr(_SmartPtr& _Smart_ptr, _ArgsT&&... _Args) { } #ifdef __cpp_lib_start_lifetime_as // TRANSITION -template +_EXPORT_STD template _Ty* start_lifetime_as(void* const _Ptr) noexcept { #ifdef __cpp_lib_is_implicit_lifetime // TRANSITION static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)"); @@ -4539,7 +4539,7 @@ _Ty* start_lifetime_as(void* const _Ptr) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)"); return __builtin_start_lifetime_as<_Ty>(_Ptr); } -template +_EXPORT_STD template const _Ty* start_lifetime_as(const void* const _Ptr) noexcept { #ifdef __cpp_lib_is_implicit_lifetime // TRANSITION static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)"); @@ -4547,7 +4547,7 @@ const _Ty* start_lifetime_as(const void* const _Ptr) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)"); return __builtin_start_lifetime_as<_Ty>(_Ptr); } -template +_EXPORT_STD template volatile _Ty* start_lifetime_as(volatile void* const _Ptr) noexcept { #ifdef __cpp_lib_is_implicit_lifetime // TRANSITION static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)"); @@ -4555,7 +4555,7 @@ volatile _Ty* start_lifetime_as(volatile void* const _Ptr) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/1)"); return __builtin_start_lifetime_as<_Ty>(_Ptr); } -template +_EXPORT_STD template const volatile _Ty* start_lifetime_as(const volatile void* const _Ptr) noexcept { #ifdef __cpp_lib_is_implicit_lifetime // TRANSITION static_assert(is_implicit_lifetime_v<_Ty>, "T must be an implicit-lifetime type. (N5032 [obj.lifetime]/1)"); @@ -4564,22 +4564,22 @@ const volatile _Ty* start_lifetime_as(const volatile void* const _Ptr) noexcept return __builtin_start_lifetime_as<_Ty>(_Ptr); } -template +_EXPORT_STD template _Ty* start_lifetime_as_array(void* const _Ptr, const size_t _Nx) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)"); return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx); } -template +_EXPORT_STD template const _Ty* start_lifetime_as_array(const void* const _Ptr, const size_t _Nx) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)"); return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx); } -template +_EXPORT_STD template volatile _Ty* start_lifetime_as_array(volatile void* const _Ptr, const size_t _Nx) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)"); return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx); } -template +_EXPORT_STD template const volatile _Ty* start_lifetime_as_array(const volatile void* const _Ptr, const size_t _Nx) noexcept { static_assert(sizeof(_Ty) > 0, "T must be a complete type. (N5032 [obj.lifetime]/5)"); return __builtin_start_lifetime_as_array<_Ty>(_Ptr, _Nx);