Redesign the Path type to statically encode the path format.

The previous design, while intended as an improvement over the one-size-fits all Path struct of vibe-d:core, turned out to produce lots of bugs during the transition, because of missing Path.type checks.

The new design uses a cleaner approach, where the static type of a path value encodes the path format. An explicit cast is necessary to convert between different path types. The internet path type also performs proper validation and percent encoding, so that InetPath.toString() always produces a valid URI path.
This commit is contained in:
Sönke Ludwig 2017-06-20 00:37:56 +02:00
parent 7d7e4709c1
commit 07e077a009
No known key found for this signature in database
GPG key ID: D95E8DB493EE314C
2 changed files with 1123 additions and 451 deletions

File diff suppressed because it is too large Load diff