void explode(char[] foo)() { int gremlins; char[] bar = foo[gremlins..$]; } void main(){ explode!("BOOM"); } The above program prints the following when compiled: C:\dmd\bin\..\..\dm\bin\link.exe main,,,user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved main.obj(main) Error 42: Symbol Undefined _D4main27__T7explodeVG4aa4_424f4f4dZ7explodeFZv8__do llark --- errorlevel 1 This was tested with DMD 1.020 on Windows XP.
Still not fixed in D2.052 :) ------------------------------------- void explode(string foo)() { int gremlins = 0; string bar = foo[gremlins .. $]; } void main(){ explode!("BOOM")(); } ------------------------------------- Undefined symbols: "_D1x27__T7explodeVAyaa4_424f4f4dZ7explodeFZv8__dollark", referenced from: _D1x27__T7explodeVAyaa4_424f4f4dZ7explodeFZv8__dollark$non_lazy_ptr in x.o (maybe you meant: _D1x27__T7explodeVAyaa4_424f4f4dZ7explodeFZv8__dollark$non_lazy_ptr) ld: symbol(s) not found collect2: ld returned 1 exit status --- errorlevel 1 ------------------------------------- '_D1x27__T7explodeVAyaa4_424f4f4dZ7explodeFZv8__dollark' means 'void x.explode!("BOOM").explode().uint __dollar'.
Reduced test case for 1.068: ----------------------------------- void main(){ const string s = "BOOM"; int gremlins = 0; string bar = s[gremlins .. $]; } ----------------------------------- Undefined symbols: "_D1y4mainFZv8__dollark", referenced from: _D1y4mainFZv8__dollark$non_lazy_ptr in y.o (maybe you meant: _D1y4mainFZv8__dollark$non_lazy_ptr) ld: symbol(s) not found collect2: ld returned 1 exit status --- errorlevel 1 ----------------------------------- The equivalent for 2.054: ----------------------------------- void main(){ enum string s = "BOOM"; int gremlins = 0; string bar = s[gremlins .. $]; } -----------------------------------
*** Issue 5062 has been marked as a duplicate of this issue. ***
D2 patch: https://github.com/D-Programming-Language/dmd/pull/108
https://github.com/D-Programming-Language/dmd/commit/be6a395ae8b36f2b62788ed00dddc502902c4c5f https://github.com/D-Programming-Language/dmd/commit/49375940e312d17fc975ab2f028df99f3e5eda1b
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル