cplusplus / cplusplus/draft

[cstdint.syn.2] is not in line with intention

Open
#3,521 10 comments 0 reactions 1 assignee View on GitHub

@dawidpilarski is already working on this.

Since Dec 6, 2019.

Dominant language
TeX
Stars
221
Forks
813
Avg merge
16h 4m
Merged PRs (30d)
36

Description

I find

The header defines all types and macros the same as the C standard library header <stdint.h>.

to not fully reflect the intention as the

defines... same as the C standard library header

would mean, that cstdint also needs to define non std:: version of aliases. This is also against:

[library.5]

the contents of each header cname is the same as that of the corresponding header name.h as specified in the C standard library. In the C++ standard library, however, the declarations (except for names which are defined as macros in C) are within namespace scope of the namespace std. It is unspecified whether these names (including any overloads added in [language.support] through [thread] and [depr]) are first declared within the global namespace scope and are then injected into namespace std by explicit using-declarations.

I propose to reword the [cstdint.syn.2] or remove it (since library.5 already handles this case).

In case of rewording it could sound like:

The header defines all types and macros the same as the C standard library header <stdint.h>, except for the types, which are defined in the namespace std.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.