diff -r 0c588a96837c -r 0cde1379b29f src/compiler/NameBinding.cpp --- a/src/compiler/NameBinding.cpp Mon Nov 19 02:12:13 2012 -0800 +++ b/src/compiler/NameBinding.cpp Thu Dec 20 00:59:38 2012 -0800 @@ -818,6 +818,15 @@ } } + if (param->reference()) { + if (!type->isPod()) { + cc_.reportError(param->pos(), Message_ArrayCantBeReference); + return false; + } + if ((type = zone_->types()->getReference(type, false)) == NULL) + return false; + } + params->set(zone_, i, type); param->sym()->setType(type); }