On 08/24/2014 08:09 PM, anonymous wrote: > On Sunday, 24 August 2014 at 17:55:05 UTC, simendsjo wrote: >> Using DMD 2.066 on GNU/Linux x86_64. >> >> This is strange: >> >> import std.stdio; >> void main() { >> auto f = tmpfile(); >> pragma(msg, typeof(f)); // shared(_IO_FILE)* >> } >> >> But stdio.d looks like the following: >> static File tmpfile() @safe >> >> What is going on here? > > You're calling `core.stdc.stdio.tmpfile`. There is no > `std.stdio.tmpfile`, it's `std.stdio.File.tmpfile`.
Thanks. So std.stdio.tmpfile() returns shared(_IO_FILE)* and std.stdio.File.tmpfile() returns File. Talk about confusing. If I want something from pure C libraries, I would use core.stdc.