Should APIs such as PathBuf::push do some (limited) normalization in a way that preserves semantics? For example, converting the relative path a//b/.././c/ to a/b/../c/.
It would go from O(1) to O(n).
I'd hesitate to refer to std's current path-related utilities as anything POSIX-like. E.g. any normalization that's based on Components would likely strip off ending directory indicators (trailing / or /.).
Right, there would need to be care.taken to make sure it's semantically the same path.
(btw, I think components should ideally not change paths semantics either, but that's perhaps a different discussion)
Note that // at the beginning of a path has semantic meaning even on POSIX.
4 Likes
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.