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
Behavior of absolute("")
in v4
#301
Comments
Both are, according to path modification rules in v3 and v4. This is intended behavior. |
Sorry, I'm not sure I understand. What do you mean that both are correct? Is the documentation of |
In what way is it wrong? |
It says:
(I'm looking at the bottom right cell) Not sure what "according to" means formally, but as I said earlier, for an empty path |
I'm not sure what the problem is. Yes, the result is different between v3 and v4, and that is as expected. The v4 result is correct - in v4. |
I'm not talking about v3, or the difference between v3 and v4. This entire issue is exclusively about v4. |
Ah, sorry, I misunderstood the original post. Yes, in v4, result should be |
This follows the absolute() definition in the docs, as in v4 appending an empty path results in a trailing slash. Unfortunately, this also influences canonical and weakly_canonical, so we had to duplicate those for v3 and v4 as well. Fixes #301.
Thanks! |
(Like #300, I'm not sure if this is a bug or I'm misreading the documentation)
absolute()
on an empty path is defined as being equal toabsolute(base) / path()
. Let's assumebase
is/foo
. With Boost Filesystem v4 we get the following:absolute(path())
returns/foo
absolute(base) / path()
returns/foo/
This is because the behavior of
operator/=
changed in v4. Which one is correct?The text was updated successfully, but these errors were encountered: