summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-05-18 00:36:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-05-18 00:36:24 +0000
commit4dc5b6ff584834396d15fa3492500b936dbc1e3d (patch)
treeea8298dcf0d92112eb38b9721df47a5edc36cf7c /parse.y
parenta20158381e0243b4bf50901c990565472146eabb (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
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index f044ae2aff..c2ad68e305 100644
--- a/parse.y
+++ b/parse.y
@@ -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");