+ if (psi_validate_scope_has_type(scope, def->var->name)) {
+ return true;
+ }
+ psi_validate_scope_add_type(scope, def->var->name, def);
+
+ if (def->type->type == PSI_T_VOID) {
+ if (def->var->pointer_level) {
+ def->type->type = PSI_T_POINTER;
+ } else {
+ data->error(data, def->token, PSI_WARNING,
+ "Type '%s' cannot be aliased to 'void'",
+ def->type->name->val);
+ return false;
+ }
+ } else if (!psi_decl_type_validate(data, def->type, def, scope)) {