Skip to content

Clarify use of contractions in diagnostic messages #116803

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

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions clang/docs/InternalsManual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,10 @@ wording a diagnostic.
named in a diagnostic message. e.g., prefer wording like ``'this' pointer
cannot be null in well-defined C++ code`` over wording like ``this pointer
cannot be null in well-defined C++ code``.
* Prefer diagnostic wording without contractions whenever possible. The single
quote in a contraction can be visually distracting due to its use with
syntactic constructs and contractions can be harder to understand for non-
native English speakers.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Perhaps add the special case of cannot vs can not? Or is that already here somewhere?

Copy link
Member

Choose a reason for hiding this comment

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

the special case of cannot vs can not?

As in?

Copy link
Collaborator

Choose a reason for hiding this comment

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

cannot is a formally 'correct' way of saying it, and we just had a PR committed that changed our uses.

Copy link
Member

@Sirraide Sirraide Nov 19, 2024

Choose a reason for hiding this comment

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

cannot is a formally 'correct' way of saying it

Well, ‘cannot’ and ‘can not’ mean different things, and yeah, usually, ‘cannot’ is what you want. I don’t think ‘can not’ would be too common in a diagnostic because those are typically not about something you’re allowed not to do...

Copy link
Collaborator

Choose a reason for hiding this comment

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

As a native speaker, (and looking in a dictionary), they are identical meaning (same as can't).

We DID have plenty of can not in both comments and diagnostics, but they were recently changed.

Copy link
Member

Choose a reason for hiding this comment

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

they are identical meaning (same as can't).

So ‘cannot’ is identical to ‘can’t’, yes. ‘can not’ is a bit different in that the ‘can’ itself isn’t negated, but rather, the verb after it is, e.g. ‘I can not do that’ == ‘I am able / allowed to not do that’—which, arguably, this doesn’t come up too often because it’s a bit of an unusual thing to say in most circumstances, but if that meaning is intended, you’re supposed to write ‘can not’ and not ‘cannot’ (of course, from a descriptive point of view, one could argue that if people keep mistaking one for the other, there isn’t much of a point of differentiating the two, but I’m not sure we’re quite there yet).

Sorry for the rambling, but I like linguistics too much to be able to stop myself whenever topics like these come up. ;Þ

We DID have plenty of can not in both comments and diagnostics, but they were recently changed.

I definitely believe that most of those should probably have been ‘cannot’, yeah. ‘can not’ is often a typo for ‘cannot’, but it is a valid syntactic construct—provided that that’s what the writer actually intended to write, of course.

Copy link
Collaborator

Choose a reason for hiding this comment

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

They are also much easier to 'mis'/'mistake', so IDK if we want to point that out?


The Format String
^^^^^^^^^^^^^^^^^
Expand Down
Loading