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

[variant.visit] Add missing std:: qualification on uses of std::forward. #811

Closed
wants to merge 1 commit into from

Conversation

Eelis
Copy link
Contributor

@Eelis Eelis commented Jul 9, 2016

No description provided.

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 9, 2016

There's another one in Table 29.

@Eelis
Copy link
Contributor Author

Eelis commented Jul 10, 2016

That one is possibly intentional, because 17.6.3.5p2 just before it says: "Within Tables 28 and 29, the use of move and forward always refers to std::move and std::forward, respectively."

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 10, 2016

Oh, right, that's true.

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 10, 2016

Could you perhaps make a diffpdf screenshot?

@Eelis
Copy link
Contributor Author

Eelis commented Jul 10, 2016

Why?

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 10, 2016

Anything that's overly long and contains things like \brk concerns me, so I'd like to see what the result looks like.

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 12, 2016

While you're at it, I think the specification of try_emplace/insert_or_assign may also be using naked forwards in a few places. I'm sure the author would be grateful for the fixes :-)

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 21, 2016

@Eelis: ping?

@Eelis
Copy link
Contributor Author

Eelis commented Jul 21, 2016

Oh, yeah, I saw a bunch of other unqualified things as well (not just forward, also move/forward_as_tuple/...), and then I got discouraged by the prospect of trying to figure out for each individual case whether the qualification is desired. :( Feel free to close if a partial fix is not worthwhile.

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 21, 2016

Hm, generally, only move and forward are qualified, except when they appear in certain requirements tables which have a blanket rule saying that all unqualified uses are understood to be qualified. Otherwise, nothing is qualified except when it's syntactically required (e.g. using reverse_iterator = std::reverse_iterator<T>;, because it's the same name).

@tkoeppe
Copy link
Contributor

tkoeppe commented Jul 24, 2016

Best left to a systematic review.

@tkoeppe tkoeppe closed this Jul 24, 2016
@Eelis Eelis deleted the trivial branch July 3, 2020 03:50
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.

None yet

2 participants