https://issues.dlang.org/show_bug.cgi?id=22059
Issue ID: 22059
Summary: std.file: Long paths support on Windows requires
explicit \\?\ prefix
Product: D
Version: D2
Hardware: All
OS: Windows
Status: NEW
Severity: normal
Priority: P1
Component: phobos
Assignee: [email protected]
Reporter: [email protected]
```
void main()
{
import std.file;
// works
assert(exists(`\\?\C:\Users\Martin\AppData\Local\dub\packages\mir-algorithm-1.0.1\mir-algorithm\.dub\build\library-unittest-windows-x86_64-ldc_2079-0C3BC09825103C01E6AE45507110137D\library-unittest-windows-x86_64-ldc_2079-0C3BC09825103C01E6AE45507110137D\library-unittest-windows-x86_64-ldc_2079-0C3BC09825103C01E6AE45507110137D.obj`));
// fails
assert(exists(`C:\Users\Martin\AppData\Local\dub\packages\mir-algorithm-1.0.1\mir-algorithm\.dub\build\library-unittest-windows-x86_64-ldc_2079-0C3BC09825103C01E6AE45507110137D\library-unittest-windows-x86_64-ldc_2079-0C3BC09825103C01E6AE45507110137D\library-unittest-windows-x86_64-ldc_2079-0C3BC09825103C01E6AE45507110137D.obj`));
}
```
The prefix shouldn't be required and added automatically, as the Visual Studio
2019 linker doesn't require that prefix, nor does the LLD linker, nor does DMD,
...
Phobos should essentially use something very similar to DMD's
extendedPathThen() helper:
https://github.com/dlang/dmd/blob/ef39b070819216a8d9835e2a66d3e365420763ec/src/dmd/root/filename.d#L1146
--