1
0
mirror of https://github.com/godotengine/godot.git synced 2026-01-05 19:31:35 +00:00

Merge pull request #61666 from nathanfranke/fix-match-bind

gdscript: use correct error for unused bind match, suppress with underscore
This commit is contained in:
George Marques
2022-06-15 10:21:34 -03:00
committed by GitHub
3 changed files with 21 additions and 2 deletions

View File

@@ -1657,8 +1657,8 @@ void GDScriptAnalyzer::resolve_match_pattern(GDScriptParser::PatternNode *p_matc
p_match_pattern->bind->set_datatype(result);
#ifdef DEBUG_ENABLED
is_shadowing(p_match_pattern->bind, "pattern bind");
if (p_match_pattern->bind->usages == 0) {
parser->push_warning(p_match_pattern->bind, GDScriptWarning::UNASSIGNED_VARIABLE, p_match_pattern->bind->name);
if (p_match_pattern->bind->usages == 0 && !String(p_match_pattern->bind->name).begins_with("_")) {
parser->push_warning(p_match_pattern->bind, GDScriptWarning::UNUSED_VARIABLE, p_match_pattern->bind->name);
}
#endif
break;

View File

@@ -0,0 +1,13 @@
# https://github.com/godotengine/godot/pull/61666
func test():
var dict := {"key": "value"}
match dict:
{"key": var value}:
print(value) # used, no warning
match dict:
{"key": var value}:
pass # unused, warning
match dict:
{"key": var _value}:
pass # unused, suppressed warning from underscore

View File

@@ -0,0 +1,6 @@
GDTEST_OK
>> WARNING
>> Line: 9
>> UNUSED_VARIABLE
>> The local variable 'value' is declared but never used in the block. If this is intended, prefix it with an underscore: '_value'
value