Avoid C++20 structured binding capture (backport #2832) #2834
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove the
-Wc++20-extensionswarning triggered by capturing a structured binding in a lambda.ROS 2 still targets C++17 only (REP-2000). Capturing structured bindings directly is a C++20 extension, so we avoid it by using
.secondexplicitly instead. The unused first element (hw_name / entry.first) is omitted to avoid the separate -Wunused-variable warning/error.No functional change.
Fixes #2574
Tested locally:
colcon build --packages-select hardware_interfacecolcon test --packages-select hardware_interface- all tests passThis is an automatic backport of pull request hardware_interface: fix C++20 structured-binding capture in lambda (fixes #2574) #2832 done by Mergify.