DMD generates function name for substract array operations that differs from from name in drintime library. Eg. a[] = b[] - c[]; DMD version _arraySliceSliceSubSliceAssign_i drintime _arraySliceSliceMinSliceAssign_i I found, that substract operation name was changed in 'arrayop.c' from "Min" to "Sub", see patch https://github.com/dlang/dmd/commit/c5297b8ba310029438dc332152ec173a7387fead (22 Jun 2013). This new name migrated to newly written code 'arrayop.d'
This will be solved by replacing the asm code with templated array ops, also see https://trello.com/c/TNCQ6xBk/85-templated-library-arrayop-implementation-also-fixes-issue-15619-and-issue-16680.
Templated array ops are likely to take a couple of years, so here's a fix for this typo: https://github.com/dlang/dmd/pull/6413
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/8eb8a67e6e4d47244db99e35ad02f42e1de7d253 fix issue 16680: avoid inconsistent usage of Sub and Min https://github.com/dlang/dmd/commit/c0d93d18a99a2425961a036138afbc9b1c0ddfae Merge pull request #6413 from rainers/fix16680 fix issue 16680: avoid inconsistent usage of Sub and Min in array operations
Commits pushed to newCTFE at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/8eb8a67e6e4d47244db99e35ad02f42e1de7d253 fix issue 16680: avoid inconsistent usage of Sub and Min https://github.com/dlang/dmd/commit/c0d93d18a99a2425961a036138afbc9b1c0ddfae Merge pull request #6413 from rainers/fix16680
Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/8eb8a67e6e4d47244db99e35ad02f42e1de7d253 fix issue 16680: avoid inconsistent usage of Sub and Min https://github.com/dlang/dmd/commit/c0d93d18a99a2425961a036138afbc9b1c0ddfae Merge pull request #6413 from rainers/fix16680
Commit pushed to master at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/184435f243b830cf464047deb1b636a8d5b4ed4a implement templated array ops - use RPN to encode operand precedence - fixes Issue 15619, and 16680