digitalmars.D.bugs - [Issue 22059] New: std.file: Long paths support on Windows requires
- d-bugmail puremagic.com (33/33) Jun 21 2021 https://issues.dlang.org/show_bug.cgi?id=22059
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 puremagic.com Reporter: kinke 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 --
Jun 21 2021