-
Notifications
You must be signed in to change notification settings - Fork 22
Add a requirements section to usage.adoc #1049
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
base: develop
Are you sure you want to change the base?
Add a requirements section to usage.adoc #1049
Conversation
An automated preview of the documentation is available at https://1049.mrdocs.prtest2.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2025-10-03 16:27:15 UTC |
docs/modules/ROOT/pages/usage.adoc
Outdated
|
||
== Requirements | ||
|
||
MrDocs requires input to be well-formed C++ code. If the input is ill-formed, MrDocs will attempt to emit at least one diagnostic. However, constructs classified |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think AsciiDoc files have issues with C++
strings (they emit the plus signs), so we have to use {cpp} instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed. I had noticed in the docs preview that C++ had become C without classes again :-). Thanks, I'll fix it right away.
1ba337d
to
fce8952
Compare
Isn't that information like everywhere in the documentation over and over again already? |
@vinniefalco wanted an explicit statement about the IFNDR case. |
@vinniefalco That's the pattern I was attempting to communicate earlier today, which also just happened in #1048 and many others: a design discussion about problem X, where solution Y is proposed, is (reasonably) interpreted as an order to implement Y regardless of X. The issues and PRs don't even bother to mention what problem X they're attempting to solve, and any attempt to even understand what's happening is futile because "Vinnie told me so" is, to be fair, a somewhat reasonable answer. |
The motivation for this change is the need to fully explain to the user what the requirements are for the input program. It has to compile with latest clang. It has to be well-formed, and in particular we require that symbols with the same name have the identical declarations. Unfortunately, it is possible to create a program where the same type has different declarations in different files and still get it to compile and link, without a diagnostic. And in some cases this could be valid C++ (or close to it). Yet for Mr. Docs it is catastrophic because of how we merge things from different translation units into the same corpus data structure. This needs to be explained to the user, so when someone has a problem we can point them to the docs and say "does your program meet these requirements." |
I completely agree the requirements should be clear to user. It's extremely important for users to understand this difference from doxygen as soon as possible. In fact, this content should probably move to the beginning of this page or be exposed much sooner. However, the problem I was previously mentioning with this issue is not the that requirements should not be listed. The problems I mentioned were:
|
No description provided.