C++ Logo

std-proposals

Advanced search

Re: [std-proposals] Versioned Standard

From: William Linkmeyer <wlink10_at_[hidden]>
Date: Mon, 19 Sep 2022 21:34:15 -0400
This is the initial draft for support for standard versioning.

Much more work will follow if there is positive feedback from this initial draft.

The resulting work will be of a higher quality if the feedback is constructive.

WL

> On Sep 19, 2022, at 9:21 PM, William Linkmeyer <wlink10_at_[hidden]> wrote:
>
> 
> # Versioned Standard
>
> ### Document: <awaiting>
>
> ### Date: September 19, 2022
>
> ### Audience: LEWG
>
> ### Reply To: willhl_at_[hidden]
>
> ## Introduction
>
> ABI stability is a communication problem. Libraries, meant to be shared, often version themselves. The obvious purpose is to communicate change over time.
>
> The standard library itself is often versioned. Some shared standard library, `libc++.so.0`, may differ from some other shared standard library, `libc++.so.9`.
>
> There is no reliable channel of communication between between libraries and their associated standards.
>
> ## Motivation
>
> ABI is a perennial issue. Tools must be provided to users who wish to specify their intended standard library version.
>
> ## Implementation
>
> Introduce the *language* template to specify the intended standard version range to be used:
>
> ```c++
> using std = std::v<2017, 2023>;
> ```
>
> Which will embed an implementation-defined hint within the resulting binary.
>
> WL

Received on 2022-09-20 01:34:27