### Godot version

master (95ce236b7d6a70a06ecc13fb08d48da90ed98430)

### System information

Windows 11, Vulkan Mobile, NVidia RTX 3070 TI

### Issue description

Gdscript is now crashing when a default argument of type array occurs:

```gdscript
func _ready():
	# This works
	test([1, 1, 1])
        
	# This crashes
	test()
	
func test(array := [1, 2, 3]):
	print("array is ", array)
```

### Steps to reproduce

The code snippet above is enough to produce the issue. Bisecting the repository indicates the issue was introduced by https://github.com/godotengine/godot/commit/a1d06749f18c3f47c6443ece2ec625d8ee5f1761.


### Minimal reproduction project

[DefaultArrayCrash.zip](https://github.com/godotengine/godot/files/10357164/DefaultArrayCrash.zip)

} else if (local_type.kind == GDScriptDataType::BUILTIN) {
						codegen.generator->write_construct(local, local_type.builtin_type, Vector<GDScriptCodeGenerator::Address>());
						initialized = true;
					}
					
				}
				
				if (!initialized && p_block->is_loop) {
					codegen.generator->write_construct(local, Variant::NIL, Vector<GDScriptCodeGenerator::Address>());
				}
			} break;
			case GDScriptParser::Node::CONSTANT: {
				
				const GDScriptParser::ConstantNode *lc = static_cast<const GDScriptParser::ConstantNode *>(s);
				if (!lc->initializer->is_constant) {
					_set_error("Local constant must have a constant value as initializer.", lc->initializer);
					return ERR_PARSE_ERROR;
				}
				codegen.add_local_constant(lc->identifier->name, lc->initializer->reduced_value);
			} break;
			case GDScriptParser::Node::PASS:
				
				break;
			default: {
				
				if (s->is_expression()) {
					GDScriptCodeGenerator::Address expr = _parse_expression(codegen, err, static_cast<const GDScriptParser::ExpressionNode *>(s), true);
					if (err) {
						return err;
					}