-
Notifications
You must be signed in to change notification settings - Fork 51
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
Issue with detection of <
operator
#217
Comments
This is because of a bug in Exhale. See svenevs/exhale#217
This is because of a bug in Exhale. See svenevs/exhale#217
Gentle bump @svenevs. Not urgent, but it would be nice to have this fixed. |
Hey, thank you for the report and gentle nudge. This is unfortunately actually quite a difficult issue, and may mean we cannot solve this problem with regex anymore... Teaching exhale how to parse more complicated templates isn't exactly a viable long term solution. If you post a self contained example (just give me working compilable / runnable header file and source file of relevant). I can add it to the (very complicated) test framework IF you agree to it being CC0 license. Giving a self contained reproducer can help bootstrap the solution / save time. But I am worried that there may not be a clean solution here 😕 Please feel free to nudge again this Saturday so I remember to take a look, this week is shaping up to be pretty chaotic. I'm sorry to share the mixed bag news (may not be a quick fix, which may mean no easy fix attainable). I'm pretty sure concepts break the assumptions being made in the code you linked. Edit: clarification: I'm pretty sure there are other hidden problems with that code, so it's worth doing a survey of what has changed and what possible solutions are available these days. |
Thanks for your reply. I have been playing around with Here is an example code to reproduce the issue (I hope this is enough): template <typename T, typename = std::void_t<>>
struct is_less_than_comparable : public std::false_type {};
template <typename T>
struct is_less_than_comparable<T,
std::void_t<decltype(std::declval<const T &>() <
std::declval<const T &>())>>
: public std::true_type {}; |
This is because of a bug in Exhale. See svenevs/exhale#217
Getting the following error with version 0.3.7:
The additional
<
is the operator, not part of the braces, so the syntax is correct. Looks similar to #169.If I understand things correctly, the syntax doesn't satisfy the conditions for
operator_overload
to beTrue
in the following linesexhale/exhale/graph.py
Lines 2449 to 2452 in c995925
Version info:
Doxygen: 1.11
Breathe: 4.35
Sphinx: 7.1.2
The text was updated successfully, but these errors were encountered: