A function like this: long convert(string from, string to)(long value) pure nothrow if((from == "years" || from == "months") && (to == "years" || to == "months")) { //... } ends up with a ddoc header like this: long convert(string from, string to)(long value); It's missing the pure and nothrow.
*** This issue has been marked as a duplicate of issue 3445 ***