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

Id generation warnings in C++ declarations with expressions #2406

Closed
jakobandersen opened this issue Mar 31, 2016 · 1 comment
Closed

Id generation warnings in C++ declarations with expressions #2406

jakobandersen opened this issue Mar 31, 2016 · 1 comment

Comments

@jakobandersen
Copy link
Contributor

(See also breathe-doc/breathe#218)
Declarations that contain expressions, e.g.,

.. cpp:function:: template <typename F> \
                  void allow(F* f, typename functionSignature<F, B, G != 1>::tt_type tt)

may issue warnings about failed id generation, e.g.,

 WARNING: Index id generation for C++ object "template<typename F> void allow(F *f, typename functionSignature<F, B, G!=1>::tt_type tt)" failed, please report as bug (id=_CPPv2I0E5allowP1FN17functionSignatureI1F1BXG!=1EE7tt_typeE).

This is because expressions are parsed in a very naive way, such that the expressions them self are used as part of the id. Two different declarations may therefore incidentally get the same id.

What characters are actually allowed in ids? Are writers or domains responsible for doing proper escaping? (maybe @shimizukawa knows?) If the writers are, then maybe the warning should only be in verbose output.

@jakobandersen
Copy link
Contributor Author

Expressions are now properly parsed.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant