On Saturday, 3 June 2017 at 14:12:03 UTC, Russel Winder wrote:
From the manual page on std.path.buildPath:

    writeln(buildPath("foo", "bar", "baz")); // "foo/bar/baz"
    writeln(buildPath("/foo/", "bar/baz")); // "/foo/bar/baz"
    writeln(buildPath("/foo", "/bar")); // "/bar"

I have no idea what drugs the person who chose that last one to be correct semantics was on at the time, but it was some seriously bad stuff.

"If any of the path segments are absolute (as defined by isAbsolute), the preceding segments will be dropped."

I cannot find any excuse for this to be even remotely reasonable.

What is your expected behavior? Throw an exception? You can't really append an absolute path to another.

Reply via email to