This program compiles (dmd 2.060alpha): import std.algorithm; void main() { [1, 2].remove!(x => x == 2)(); } While this one: import std.stdio, std.algorithm; void main() { [1, 2].remove!(x => x == 2)(); } Gives: test.d(3): Error: __overloadset isn't a template
Similar (maybe even caused by the same thing) Issue 6539.
*** Issue 9487 has been marked as a duplicate of this issue. ***
https://github.com/D-Programming-Language/dmd/pull/1660
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/909e992ebbae2b3430608caeaf524323eee3d74a fix Issue 8352 - Wrong "__overloadset isn't a template" error https://github.com/D-Programming-Language/dmd/commit/cc6b7372f2efffd4c5c0314373af3b595ba06a2c Merge pull request #1660 from 9rnsr/fix1900 Issue 1900 & 8352 & 9235 - Implement Template Overload Set