Skip to content

P2590R2 Explicit Lifetime Management #2942

Description

WG21-P2590R2 Explicit Lifetime Management
WG21-P2679R2 Fixing start_lifetime_as And start_lifetime_as_array

Feature-test macro:

#define __cpp_lib_start_lifetime_as 202207L

MSVC-PR-704304 and MSVC-PR-703299 in the MSVC Build Tools 14.51 implemented the following builtins:

template<typename _T>
_T* __builtin_start_lifetime_as(void*) noexcept;

template<typename _T>
const _T* __builtin_start_lifetime_as(const void*) noexcept;

template<typename _T>
volatile _T* __builtin_start_lifetime_as(volatile void*) noexcept;

template<typename _T>
const volatile _T* __builtin_start_lifetime_as(const volatile void*) noexcept;

template<typename _T>
_T* __builtin_start_lifetime_as_array(void*, size_t) noexcept;

template<typename _T>
const _T* __builtin_start_lifetime_as_array(const void*, size_t) noexcept;

template<typename _T>
volatile _T* __builtin_start_lifetime_as_array(volatile void*, size_t) noexcept;

template<typename _T>
const volatile _T* __builtin_start_lifetime_as_array(const volatile void*, size_t) noexcept;

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerCompiler work involvedcxx23C++23 featurefixedSomething works now, yay!

    Type

    No type

    Projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions