[Issue 22059] New: std.file: Long paths support on Windows requires explicit \\?\ prefix
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jun 21 15:28:51 UTC 2021
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: nobody at puremagic.com
Reporter: kinke at gmx.net
```
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
--
More information about the Digitalmars-d-bugs
mailing list