Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[lib] Remove 'std::' prefix from library names. #1085

Merged
merged 1 commit into from Nov 26, 2016

Conversation

jensmaurer
Copy link
Member

The standard library specifies that references to its names are assumed to be prefixed by '::std::'. Therefore, we can remove any explicit 'std::' prefixes.

[iterator.range] was not touched, because it is unclear whether argument-dependent lookup was intended to be disabled here.

Fixes #431.

@@ -3666,7 +3666,7 @@

\item these actions will not block for the shared state to become ready, except that it
may block if all of the following are true: the shared state was created by a call to
\tcode{std::async}, the shared state is not yet ready, and this was the last reference
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we've generally stayed away from anything async, because SG1 has been crafting that wording painstakingly and with great deliberation. For example, there's a case to be made that it should be easy for the reader to disinguish std::async from std::launch::async.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should always qualify launch::async to avoid such problems, and then strictly speaking we don't need to qualify the function. But if it helps the reader significantly then we could say "a call to the function template async" or something else to disambiguate it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To err on the side of caution, I'm reverting this change.

@tkoeppe
Copy link
Contributor

tkoeppe commented Nov 21, 2016

@jwakely: Could you please review this?

std::size_t N; // \expos
std::vector<int> subs; // \expos
size_t N; // \expos
ector<int> subs; // \expos
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"ector"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops.

@jwakely
Copy link
Member

jwakely commented Nov 21, 2016

Apart from the "ector" case where one too many characters was removed this looks good to me. I'm ambivalent about the std::async cases.

@jensmaurer
Copy link
Member Author

Fixed patch pushed.

@tkoeppe
Copy link
Contributor

tkoeppe commented Nov 26, 2016

Please rebase.

The standard library specifies that references to its names are assumed to be prefixed by '::std::'. Therefore, we can remove any explicit 'std::' prefixes.

[iterator.range] was not touched, because it is unclear whether argument-dependent lookup was intended to be disabled here.

Fixes cplusplus#431.
@jensmaurer
Copy link
Member Author

Rebased.

@tkoeppe tkoeppe merged commit 44e46e6 into cplusplus:master Nov 26, 2016
@jensmaurer jensmaurer deleted the b24 branch November 29, 2016 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Qualifying std::move, std::forward, etc. is unnecessary
3 participants