diff -r 38e6d2e0e702 -r 321a652349a6 src/compiler/NameBinding.cpp --- a/src/compiler/NameBinding.cpp Thu Dec 20 01:06:30 2012 -0800 +++ b/src/compiler/NameBinding.cpp Thu Dec 20 01:09:17 2012 -0800 @@ -818,14 +818,14 @@ } } - if (param->reference()) { - if (!type->isPod()) { - cc_.reportError(param->pos(), Message_ArrayCantBeReference); - return false; - } - if ((type = zone_->types()->getReference(type, false)) == NULL) - return false; - } + 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);