Bug 13716 – Phobos std.file fails to build

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
Windows
Creation time
2014-11-12T08:49:00Z
Last change time
2014-12-02T11:55:04Z
Assigned to
nobody
Creator
bugzilla

Comments

Comment #0 by bugzilla — 2014-11-12T08:49:17Z
The error message is: std\file.d(1503): Error: safe function 'std.file.mkdir' cannot call system function 'std.windows.syserror.wenforce!(int, const(char)[]).wenforce' And in std\file.d: -------------------------------------- void mkdir(in char[] pathname) @safe { version(Windows) { static auto trustedCreateDirectoryW(in char[] path) @trusted { return CreateDirectoryW(path.tempCStringW(), null); } wenforce(trustedCreateDirectoryW(pathname), pathname); } else version(Posix) { static auto trustedMkdir(in char[] path, mode_t mode) @trusted { return core.sys.posix.sys.stat.mkdir(path.tempCString(), mode); } cenforce(trustedMkdir(pathname, octal!777) == 0, pathname); } } ------------------------------------ And in std\windows\syserror.d: ------------------------------------ T wenforce(T, S)(T value, lazy S msg = null, string file = __FILE__, size_t line = __LINE__) if (isSomeString!S) { if (!value) throw new WindowsException(GetLastError(), to!string(msg), file, line); return value; } ------------------------------------ Yep, it's a system function. This is the current HEAD. I have no idea how any of this passes the build tester; it won't build on my machine.
Comment #1 by hsteoh — 2014-11-12T16:00:32Z
Looks like a regression caused by one of the recent @safe-ty PR's.
Comment #2 by dlang-bugzilla — 2014-12-02T11:55:04Z