### Godot version

4.0 beta17

### System information

Windows10

### Issue description

call `"".split()`
Is there an infinite loop inside? Function does not return.

### Steps to reproduce

"".split()

### Minimal reproduction project

N/A
if (is_empty()) {
		return 0;
	}
	return built_in_strtod<char32_t>(get_data());
}
uint32_t String::hash(const char *p_cstr) {
	uint32_t hashv = 5381;
	uint32_t c = *p_cstr++;
	while (c) {
		hashv = ((hashv << 5) + hashv) + c; 
		c = *p_cstr++;
	}
	return hashv;
}
uint32_t String::hash(const char *p_cstr, int p_len) {