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

Inconsistent placeholder styling in [over.built] #1233

Closed
tkoeppe opened this issue Dec 14, 2016 · 7 comments
Closed

Inconsistent placeholder styling in [over.built] #1233

tkoeppe opened this issue Dec 14, 2016 · 7 comments
Assignees

Comments

@tkoeppe
Copy link
Contributor

tkoeppe commented Dec 14, 2016

Subclause [over.built] uses type placeholders, which are styles as body text italics in the body text and as code italics in code. They should always be the latter, using \tcode{\placeholder{...}} in the body and \placeholder or \placeholdernc in codeblocks.

@tkoeppe
Copy link
Contributor Author

tkoeppe commented Dec 14, 2016

The subclause also has a weird way of spelling "cv".

@jensmaurer
Copy link
Member

jensmaurer commented Dec 14, 2016

Wait. I believe we agreed in #1139 that type placeholders such as "let T be decay_t<U>" should be formatted with \tcode, except that an index is suffixed using math mode.

Why do you believe this section should use \placeholders? (I agree this is slightly, but only slightly, different because we have an implied meta-iteration over the set of all matching types, so you can't just imagine a typedef there.)

Agreed on the "cv" part.

@tkoeppe
Copy link
Contributor Author

tkoeppe commented Dec 14, 2016

@jensmaurer: I see. To be clear, I'm not taking a position here whether the gadgets in question should be normal types or placeholder types. What I meant is that if they are placeholder types, then they should be formatted as I described. If we don't actually want to style them as placeholders at all, then we should of course apply a different resolution, but I hadn't thought of that.

@jensmaurer
Copy link
Member

jensmaurer commented Dec 14, 2016

Uh, second thoughts about the "cv" part: We also have "VQ" in this section, meaning just a volatile qualifier (or nothing). We don't have a notation similar to "cv" for this case in 3.9.3 [basic.type.qualifier]. There's something to be said about internal consistency in [over.built], too.

@tkoeppe
Copy link
Contributor Author

tkoeppe commented Dec 14, 2016

Yeah, absolutely. And that was somehow my motivation for this issue: It's not even internally consistent at the moment.

I have no problem keeping most of this as is, I just think we can clean it up locally.

As for the CV/VQ bit, maybe we can have some lower-case construction like "vqn" to mimic the usual styling for "cv"? I'm open to suggestions.

@jensmaurer jensmaurer self-assigned this Dec 14, 2016
@jensmaurer
Copy link
Member

Ok, let's go with \placeholder for the moment in this section. After all, the implied "for-all" quantification make the T's more like meta-variables than specific types.

@tkoeppe
Copy link
Contributor Author

tkoeppe commented Dec 14, 2016

Yes, I agree, this isn't "one particular type T", but instead a "for any type T", so I don't see a contradiction between the meta variable here and #1139.

jensmaurer added a commit to jensmaurer/draft that referenced this issue Dec 14, 2016
Use \defn for definitions.
Use \placeholder for meta-variables used in describing
built-in candidate signatures.

Fixes cplusplus#1233.
tkoeppe pushed a commit that referenced this issue Dec 14, 2016
Use \defn for definitions.
Use \placeholder for meta-variables used in describing
built-in candidate signatures.

Fixes #1233.
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

No branches or pull requests

2 participants