### Godot version

v4.0.beta.custom_build [1d14c054a]

### System information

Kubuntu 22.10

### Issue description

Regression in master (in beta 10 the following script works correctly).

### Steps to reproduce

```gdscript
@tool
extends EditorScript

func wait(time: float) -> void:
    await get_editor_interface().get_tree().create_timer(time).timeout

func _run() -> void:
    reference()
    # Error: Cannot get return value of call to "wait()" because it returns "void".
    await wait(1.0)
    print("Test")
    unreference()
```

### Minimal reproduction project

N/A
HashSet<uint32_t> previously_ignored = parser->ignored_warning_codes;
		for (uint32_t ignored_warning : stmt->ignored_warnings) {
			parser->ignored_warning_codes.insert(ignored_warning);
		}
#endif 
		resolve_node(stmt);
#ifdef DEBUG_ENABLED
		parser->ignored_warning_codes = previously_ignored;
#endif 
		decide_suite_type(p_suite, stmt);
	}
}
void GDScriptAnalyzer::resolve_assignable(GDScriptParser::AssignableNode *p_assignable, const char *p_kind) {
	GDScriptParser::DataType type;
	type.kind = GDScriptParser::DataType::VARIANT;
	bool is_variable = p_assignable->type == GDScriptParser::Node::VARIABLE;
	bool is_constant = p_assignable->type == GDScriptParser::Node::CONSTANT;
	GDScriptParser::DataType specified_type;
	bool has_specified_type = p_assignable->datatype_specifier != nullptr;
	if (has_specified_type) {
		specified_type = resolve_datatype(p_assignable->datatype_specifier);
		specified_type.is_meta_type = false;
		type = specified_type;
	}
	if (p_assignable->initializer != nullptr) {
		reduce_expression(p_assignable->initializer);
		if (p_assignable->initializer->type == GDScriptParser::Node::ARRAY) {
			GDScriptParser::ArrayNode *array = static_cast<GDScriptParser::ArrayNode *>(p_assignable->initializer);
			if ((p_assignable->infer_datatype && array->elements.size() > 0) || (has_specified_type && specified_type.has_container_element_type())) {
				update_array_literal_element_type(specified_type, array);