1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-17 14:11:06 +00:00

Don't return reference on copy assignment operators

We prefer to prevent using chained assignment (`T a = b = c = T();`) as this
can lead to confusing code and subtle bugs.

According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++
allows any arbitrary return type, so this is standard compliant.

This could be re-assessed if/when we have an actual need for a behavior more
akin to that of the C++ STL, for now this PR simply changes a handful of
cases which were inconsistent with the rest of the codebase (`void` return
type was already the most common case prior to this commit).
This commit is contained in:
Rémi Verschelde
2021-11-30 15:19:26 +01:00
parent 2d118bd8b8
commit 7da392bcc5
28 changed files with 93 additions and 90 deletions

View File

@@ -761,10 +761,11 @@ void EditorFileDialog::update_file_list() {
List<String> files;
List<String> dirs;
String item;
String item = dir_access->get_next();
while ((item = dir_access->get_next()) != "") {
while (!item.is_empty()) {
if (item == "." || item == "..") {
item = dir_access->get_next();
continue;
}
@@ -775,6 +776,7 @@ void EditorFileDialog::update_file_list() {
dirs.push_back(item);
}
}
item = dir_access->get_next();
}
dirs.sort_custom<NaturalNoCaseComparator>();