ros2 / design

Design documentation for ROS 2.0 effort
http://design.ros2.org/
Apache License 2.0
222 stars 194 forks source link

Remapping | differentiate *:=... from /*:=... #174

Open sloretz opened 6 years ago

sloretz commented 6 years ago

The remapping design doc states that /namespace/ is only prefixed to the match side of a rule if it does not begin with *, **, or /. This means the rules *:=foo and /*:=foo are the same.

If code uses a relative name bar and is put into namespace /ns then the rule bar:=foo will match while *:=foo does not. However, if code uses a fully qualified name /bar then both /bar:=foo and /*:=foo match. I think this difference in behavior when there is a leading / could be confusing.

Proposal

Change the behavior to say /namespace/ is prefixed to the match side when a rule begins with *, **, or a token.