On Wednesday, 19 September 2018 at 08:46:13 UTC, Vladimir
Panteleev wrote:
On Wednesday, 19 September 2018 at 08:36:35 UTC, Vladimir
Panteleev wrote:
If you're referring to NUL, COM1, COM2, etc, then this is
completely orthogonal.
Yes. How so? It is the same issue: paths with certain
properties are valid on all platforms except on Windows.
Phobos errors out when attempting to access/create them. A
simple workaround is available: expand/normalize the path,
prepend the UNC prefix, and use Unicode APIs.
I just remembered, there is a third class of paths with these
properties: paths containing directory components that begin or
end with spaces.
There are probably more... I think some special characters are
also valid only in UNC paths.
BTW, something follows from the above:
write(`C:\` ~ (short path) ~ `con`) will fail
but:
write(`C:\` ~ (long path) ~ `con`) will succeed.
This is just one issue I've noticed... there's probably more
lurking. This is why I think the whole idea is bankrupt.