4 ms·
But dlang has a long problem of change constantly without backward compatibility and a lot of projects just die because of it, for example the mentioned https:/
by mingodad 5y ago
But dlang has a long problem of change constantly without backward compatibility and a lot of projects just die because of it, for example the mentioned https://github.com/facebookarchive/warp https://github.com/facebookarchive/warp :
====
make
dmd -c -O -inline -release -ofwarp.o cmdline.d constexpr.d context.d directive.d expanded.d file.d id.d lexer.d loc.d macros.d main.d number.d outdeps.d ranges.d skip.d sources.d stringlit.d textbuf.d charclass.d
context.d(222): Error: Implicit string concatenation is error-prone and disallowed in D
context.d(222): Use the explicit syntax instead (concatenating literals is @nogc): "# 1 \"%2$s//\"\x0a" ~ "# 1 \"<command-line>\"\x0a"
context.d(223): Error: Implicit string concatenation is error-prone and disallowed in D
context.d(223): Use the explicit syntax instead (concatenating literals is @nogc): "# 1 \"<command-line>\"\x0a" ~ "# 1 \"%1$s\"\x0a"
macros.d(329): Error: Built-in hex string literals are obsolete, use std.conv.hexString!"FD 61 FD" instead.
macros.d(333): Error: Built-in hex string literals are obsolete, use std.conv.hexString!"FD" instead.
macros.d(338): Error: Built-in hex string literals are obsolete, use std.conv.hexString!"FD 61 62 FD FD" instead.
ranges.d(71): Error: Implicit string concatenation is error-prone and disallowed in D
ranges.d(71): Use the explicit syntax instead (concatenating literals is @nogc): "Buffer overflowed. Possibly caused by forgetting to " ~ "complete a git merge in your code."
Makefile:44: recipe for target 'warp.o' failed
make: ** [warp.o] Error 1
====
- crazypython 5y agoThose are 8 errors, all from 1 language change, which can be fixed by inserting 8 characters.
- mingodad 5y agoAfter following the compiler suggestions (several times more): ==== make dmd -c -O -inline -release -ofwarp.o cmdline.d constexpr.d context.d directive.d expanded.d file.d id.d lexer.d loc.d macros.d main.d number.d outdeps.d ranges.d skip.d sources.d stringlit.d textbuf.d charclass.d util.d(20): Error: function `loc.Loc.write(File* f)` is not callable using argument types `(File function() nothrow @nogc @property ref @system)` util.d(20): cannot pass argument `& makeGlobal` of type `File function() nothrow @nogc @property ref @system` to parameter `File* f` directive.d(470): Error: template instance `util.err_warning!(string, string)` error instantiating context.d(264): instantiated from here: `parseDirective!(Lexer!(Context!(LockingTextWriter)))` main.d(39): instantiated from here: `Context!(LockingTextWriter)` Makefile:44: recipe for target 'warp.o' failed make: * [warp.o] Error 1 ====
- WalterBright 5y agoPut () after the stderr and it'll compile.
- crazypython 5y agoLess than 30 line changes to get it to compile with latest DMD. https://github.com/DigitalMars/dmpp/commit/a9b879983130cf3a39f8b46c6b8bbfb572eaf1ee https://github.com/DigitalMars/dmpp/commit/a9b879983130cf3a3... Small price to pay for an elegant language.
- WalterBright 5y ago> die because of it That isn't why Warp was discontinued. (My last change to Warp was 7 years ago.) Even with my C code, it's unsurprising to have to update a few things after 7 years. My version of the repository is: https://github.com/DigitalMars/dmpp https://github.com/DigitalMars/dmpp and compiles with DMD 2.067. I'll see about updating it later today. Stay tuned!
- WalterBright 5y agoUpdated!