/////////////// test.d ////////////// import std.stdio; void main() { File[int] aa; aa.require(0, File("/dev/null")); } ///////////////////////////////////// /path/to/dmd.linux/dmd2/linux/bin64/../../src/druntime/import/object.d(3544): Error: `return` expression expected test.d(6): Error: template instance `object.require!(int, File)` error instantiating The cause is that File.opAssign returns void instead of File.
@CyberShadow created dlang/phobos pull request #7131 "Fix Issue 20129 - AA require with File values gives "Error: `return` …" fixing this issue: - Fix Issue 20129 - AA require with File values gives "Error: `return` expression expected" in object.d https://github.com/dlang/phobos/pull/7131
dlang/phobos pull request #7131 "Fix Issue 20129 - AA require with File values gives "Error: `return` …" was merged into master: - a15af9cf5556ebfa96396deaf177d41f9fe1e4a0 by Vladimir Panteleev: Fix Issue 20129 - AA require with File values gives "Error: `return` expression expected" in object.d https://github.com/dlang/phobos/pull/7131