use correct error for unused bind match, suppress with underscore
This commit is contained in:
parent
c0bf18e923
commit
3d61246bc4
3 changed files with 21 additions and 2 deletions
|
@ -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;
|
||||
|
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in a new issue