-
Notifications
You must be signed in to change notification settings - Fork 17
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
Infinite recursion while detecting SFINAE #665
Comments
I just reproduced the problem and can confirm it. For reference, I built the MrDocs documentation with: mrdocs \
--config="path\to\mrdocs\docs\mrdocs.yml" \
--output="path\to\mrdocs\build\reference" \
--addons=path/to/mrdocs/share/mrdocs/addons \
--stdlib-includes=path/to/libraries/llvm/include \
--concurrency 1 \
--compilation-database=path\to\mrdocs\build\release-msvc\compile_commands.json (omitting the path/to/mrdocs for brevity and privacy) The stack trace is something like:
@sdkrystian Please have a look at this logic and the proposed solution: + if (sfinae_info->Template == TD)
+ continue; My intuition is the solution is going to be more complex than that.
I opened another issue for this one: #680
Interesting. But yes, this should be done in |
I was trying to compile MrDocs and ran into a stack-overflow while building the documentation for MrDocs itself (which is build by default).
The error occurs when trying to detect whether
fmt::formatter
is such a template. One of its specializations is inmrdocs/Dom/String.hpp
. In this specialization, thefmt::formatter
extends its own template. When checking for SFINAE, the base template is checked as well, leading to infinite recursion.The following change "fixes" the issue, but I don't know if it's correct to just "ignore" that base class.
Minimal example:
This isn't caught in CI, as the docs generation is disabled there.
Aside:
local-antora-playbook.yml
- this should probably beantora-playbook.yml
.lib/AST/ASTVisitor.cpp
, becauseCompleteExternalDeclaration
is overridden with aDeclaratorDecl*
, but declared with aVarDecl*
in the version referenced on https://mrdocs.com/docs/mrdocs/install.html (7a28a5b3fee6c78ad59af79a3d03c00db153c49f; I suppose that version is outdated)The text was updated successfully, but these errors were encountered: