-
Notifications
You must be signed in to change notification settings - Fork 118
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
Improve header hygiene for cabcode.h
.
#2948
Conversation
This comment has been minimized.
This comment has been minimized.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2948 +/- ##
=======================================
Coverage 67.26% 67.26%
=======================================
Files 571 571
Lines 104869 104863 -6
=======================================
+ Hits 70536 70539 +3
+ Misses 34333 34324 -9 ☔ View full report in Codecov by Sentry. |
This comment has been minimized.
This comment has been minimized.
So, to me, this is an improvement, as it allows one to be more selective about includes: one doesn't need the mega The functions in I could pull out the ones in |
This has always been a confusing issue to me. Eliminating |
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.
Thank you! Just a few clarifying comment.
As for the question about "doing more", the ideal is somewhat clear, each .cpp
has an associated .hpp
file that declares all functions that are available to other translation units. However, for this PR, we've made enough changes.
Word-of-mouth is that this type of reorganization is a bit more error prone than expected, because there's an ABI boundary involving std::string
and Python wheels. I believe it's between locally built code (nrnivmodl
) and code that's part of a Python wheel and involved the issue that the wheel is built with pre-C++11 ABI and nrnivmodl builds with C++11 std::string
s. Then there's also VERBATIM code in MOD files.
Hence, small gradual changes, since we might break something accidentally and then need to figure out what broke.
@nrnhines > This has always been a confusing issue to me. Eliminating It's a bike-shedable problem, so I don't really want to open that can of worms. He has very precise explanations on what Finally, I'm cognizant that NEURON is constrained by the historical/expected What I think would be worthwhile would be to break out as much as possible from the |
@1uc > As for the question about "doing more", the ideal is somewhat clear, each .cpp has an associated .hpp file that declares all functions that are available to other translation units. However, for this PR, we've made enough changes. Agreed. @luc1 > Hence, small gradual changes, since we might break something accidentally and then need to figure out what broke. And agreed. |
This comment has been minimized.
This comment has been minimized.
✔️ abedb68 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
Quality Gate passedIssues Measures |
This comment has been minimized.
This comment has been minimized.
✔️ 5bbb3e2 -> Azure artifacts URL |
Quality Gate passedIssues Measures |
✔️ 81453ef -> Azure artifacts URL |
No description provided.