fix interactions between missing/deleted params and param subscription (get_param_cached) #9
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.
Fixes:
Because ROS seems to use the empty struct as the placeholder value for non-existing values in the param tree, for this to work we need a version of dxr that supports creating that value. I have opened a PR there as well.That would need to be merged first (and a new release made on crates.io) for us to be able to use it in ros-core-rs.
Edit: failing CI is expected at the moment, due to the required change in dxr's API.Edit 2: @decathorpe pointed out a way to create an empty struct without changing dxr's API, so I changed the code accordingly.
The remaining build failure is unrelated and seems to be caused by some version of xml-rs having been yanked. This affects rosrust as well, and is unrelated to this change. You can still build with an old
Cargo.lock
file in place.Edit 3: The build with rust nightly is broken as well (for the same reason), I don't know why this shows up as green though.