D DMD32 v2.091.0 compiler currently reacts to "import std;" directive in a strange way.

Revision en1, by ssvb, 2021-04-30 04:44:30

DMD compiler is expected to support import std; directive starting from version v2.086.0, as documented in its changelog. This may be very useful for competitive programming because just a single line of code can provide access to the whole standard library. Similar to how just a single line #include <bits/stdc++.h> is often used in C++ solutions instead of multiple include directives.

But something seems to be wrong with the D compiler used by the codeforces platform, as can be checked via https://mirror.codeforces.com/problemset/customtest

This code gets stuck:

import std;
void main() { printf("hello\n"); }

OUTPUT:

Replacing import std; with import std.stdio; helps:

import std.stdio;
void main() { printf("hello\n"); }

OUTPUT:

MikeMirzayanov, could you please check what's wrong? Thanks!

PS. I would also appreciate if my solution 114610491 submitted during Educational Codeforces Round 108 (рейтинговый для Див. 2) could be re-judged after fixing the compiler. But that's not super important in the grand scheme of things.

Tags dmd, dlang, compiler, bug

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English ssvb 2021-04-30 04:44:30 1456 Initial revision (published)