### Godot version

master [f7bc653cbe81018fe362472a0143b7153a52f929]

### System information

Arch Linux (GCC 13.2.1)

### Issue description

Output:

```
In file included from tests/test_main.cpp:118:
./tests/servers/rendering/test_shader_preprocessor.h: In function 'bool TestShaderPreprocessor::is_operator_char(unsigned char)':
./tests/servers/rendering/test_shader_preprocessor.h:55:34: error: variable 'const std::string operators' has initializer but incomplete type
   55 |         static const std::string operators = "<>=+-*/";
      |                                  ^~~~~~~~~
./tests/servers/rendering/test_shader_preprocessor.h:56:50: error: incomplete type 'std::string' {aka 'std::__cxx11::basic_string<char>'} used in nested name specifier
   56 |         return operators.find(c) != std::string::npos;
      |                                                  ^~~~
scons: *** [tests/test_main.linuxbsd.editor.dev.x86_64.san.o] Error 1
scons: building terminated because of errors.
```

### Steps to reproduce

Compile the project. Probably needs GCC 13.

### Minimal reproduction project

N/A
String res;
	
	res.resize(p_str.size());
	int wp = 0;
	char32_t last = 0;
	bool has_removed = false;
	for (int n = 0; n < p_str.size(); n++) {
		
		auto c = static_cast<unsigned char>(p_str[n]);
		if (std::isblank(c)) {
			has_removed = true;
		} else {
			if (has_removed) {
				
				
				if ((is_variable_char(c) && is_variable_char(last)) ||
						(is_operator_char(c) && is_operator_char(last))) {
					res[wp++] = ' ';
				}
				has_removed = false;
			}
			res[wp++] = c;
			last = c;
		}
	}
	res.resize(wp);
	return res;
}
String compact_spaces(String &p_str) {