Date: Mon, 19 Sep 2022 21:21:48 -0400
# 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
### 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:22:01