mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
The same warning for static symbol literal
This commit is contained in:
parent
da139317a5
commit
28392d3045
2 changed files with 7 additions and 3 deletions
4
parse.y
4
parse.y
|
@ -11758,6 +11758,7 @@ cond0(struct parser_params *p, NODE *node, enum cond_type type, const YYLTYPE *l
|
|||
break;
|
||||
|
||||
case NODE_DSYM:
|
||||
warn_symbol:
|
||||
SWITCH_BY_COND_TYPE(type, warning, "symbol ")
|
||||
break;
|
||||
|
||||
|
@ -11770,6 +11771,9 @@ cond0(struct parser_params *p, NODE *node, enum cond_type type, const YYLTYPE *l
|
|||
node->nd_lit == Qfalse) {
|
||||
/* booleans are OK, e.g., while true */
|
||||
}
|
||||
else if (SYMBOL_P(node->nd_lit)) {
|
||||
goto warn_symbol;
|
||||
}
|
||||
else {
|
||||
SWITCH_BY_COND_TYPE(type, warning, "")
|
||||
}
|
||||
|
|
|
@ -1061,16 +1061,16 @@ eom
|
|||
end
|
||||
|
||||
def test_warning_literal_in_condition
|
||||
assert_warn(/literal in condition/) do
|
||||
assert_warn(/string literal in condition/) do
|
||||
eval('1 if ""')
|
||||
end
|
||||
assert_warn(/literal in condition/) do
|
||||
assert_warn(/regex literal in condition/) do
|
||||
eval('1 if //')
|
||||
end
|
||||
assert_warning(/literal in condition/) do
|
||||
eval('1 if 1')
|
||||
end
|
||||
assert_warning(/literal in condition/) do
|
||||
assert_warning(/symbol literal in condition/) do
|
||||
eval('1 if :foo')
|
||||
end
|
||||
assert_warning(/symbol literal in condition/) do
|
||||
|
|
Loading…
Reference in a new issue