-
Notifications
You must be signed in to change notification settings - Fork 113
Fix ambiguous constructor overload #499
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
Conversation
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.
Looks good to me, but I'm afraid that it might break many packages. Should we deprecate it before?
Let's deprecate this here and the other one in Jazzy? Or let's remove as you proposed
It was not working before the cleanup #494 anyways, right? The working version was just released a few days ago; and there is no use of this class on the ros buildfarm afaik. I don't see a high risk here |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## ros2-master #499 +/- ##
============================================
Coverage 82.35% 82.35%
============================================
Files 29 29
Lines 1984 1984
Branches 114 114
============================================
Hits 1634 1634
Misses 281 281
Partials 69 69
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
These are the ambiguous constructors that can accept 2 args in Jazzy: control_toolbox/control_toolbox/include/control_toolbox/pid_ros.hpp Lines 70 to 87 in 7b819ce
This is the only constructor that accepts 2 args in Rolling: control_toolbox/control_toolbox/include/control_toolbox/pid_ros.hpp Lines 70 to 77 in 6829ff1
What I mean is, if we remove the only constructor that is using the 2 args, then if some user code has this change, it will break his code. Does it make sense?. If so, what I'm saying is better to add a deprecation note to the 2 args constructor and then remove current non-deprecated constructor in Jazzy |
but this is not functional with the error message above. this was "accidentally" fixed with #494 (5.8.0 on rolling), released just a couple of days ago:
This means that after #431 (5.6.0 on rolling, 4.6.0 on jazzy) it was not possible to use the 2-args constructor. So I don't think that anyone used it (no one will have used it since the 5.8.0 release this week). That's why I don't think this hurts if we remove it now. Pre-release job only fails because of this strange linter fail of gz_ros2_control_demos. |
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.
Understood. I see that the 2 arg constructor is recently added.
Thanks for the clarification buddy
(cherry picked from commit d84f3fa) # Conflicts: # control_toolbox/include/control_toolbox/pid_ros.hpp
(cherry picked from commit d84f3fa) # Conflicts: # control_toolbox/include/control_toolbox/pid_ros.hpp
(cherry picked from commit d84f3fa) # Conflicts: # control_toolbox/include/control_toolbox/pid_ros.hpp
On jazzy and before the cleanup #494, we had an ambiguous overload. I suggest changing the same on kilted+rolling to have the same API everywhere.
docstring was wrong anyways 🙈