https://issues.dlang.org/show_bug.cgi?id=19384 --- Comment #2 from Walter Bright <bugzilla at digitalmars.com> --- Replace the `ref uint` return with a `uint*` pointer and it works. So, the problem must be in the logic that treats a pointer return, but not a ref return. --