June 21, 2021 [Issue 22059] New: std.file: Long paths support on Windows requires explicit \\?\ prefix | ||||
|---|---|---|---|---|
| ||||
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 -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply