Merge pull request #206 from vibe-d/nothrow

Nothrow
This commit is contained in:
Sönke Ludwig 2020-04-16 22:10:05 +02:00 committed by GitHub
commit af042756a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View file

@ -67,7 +67,7 @@ Path relativeTo(Path)(Path path, Path base_path) @safe
enum up = Path.Segment2("..", Path.defaultSeparator); enum up = Path.Segment2("..", Path.defaultSeparator);
auto ret = Path(base_nodes.map!(p => up).chain(nodes)); auto ret = Path(base_nodes.map!(p => up).chain(nodes));
if (path.endsWithSlash) { if (path.endsWithSlash) {
if (ret.empty) return Path("." ~ path.toString()[$-1]); if (ret.empty) return Path.fromTrustedString("." ~ path.toString()[$-1]);
else ret.endsWithSlash = true; else ret.endsWithSlash = true;
} }
return ret; return ret;
@ -142,6 +142,12 @@ unittest {
} }
} }
nothrow unittest {
auto p1 = PosixPath.fromTrustedString("/foo/bar/baz");
auto p2 = PosixPath.fromTrustedString("/foo/baz/bam");
assert(p2.relativeTo(p1).toString == "../../baz/bam");
}
/** Computes the relative path to this path from `base_path` using web path rules. /** Computes the relative path to this path from `base_path` using web path rules.

View file

@ -250,7 +250,7 @@ struct HashMap(TKey, TValue, Traits = DefaultHashMapTraits!TKey)
} }
} }
unittest { nothrow unittest {
import std.conv; import std.conv;
HashMap!(string, string) map; HashMap!(string, string) map;