diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-05-18 00:36:24 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-05-18 00:36:24 +0000 |
commit | 4dc5b6ff584834396d15fa3492500b936dbc1e3d (patch) | |
tree | ea8298dcf0d92112eb38b9721df47a5edc36cf7c | |
parent | a20158381e0243b4bf50901c990565472146eabb (diff) |
parse.y: relax literal in condition warnings
* parse.y (cond0): do not warn literal boolean (true and false) in
condition expressions, as they are often used as infinite loops,
deactivated code block, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | parse.y | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -9823,6 +9823,10 @@ cond0(struct parser_params *p, NODE *node, int method_op, const YYLTYPE *loc) warn_unless_e_option(p, node, "regex literal in condition"); nd_set_type(node, NODE_MATCH); } + else if (node->nd_lit == Qtrue || + node->nd_lit == Qfalse) { + /* booleans are OK, e.g., while true */ + } else { if (!method_op) parser_warning(p, node, "literal in condition"); |