From: ronnie@... Date: 2018-03-01T01:15:55+00:00 Subject: [ruby-core:85872] [Ruby trunk Bug#14562] Do not warn for assignment in conditionals inside () Issue #14562 has been reported by matsuda (Akira Matsuda). ---------------------------------------- Bug #14562: Do not warn for assignment in conditionals inside () https://bugs.ruby-lang.org/issues/14562 * Author: matsuda (Akira Matsuda) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.6.0dev (2018-03-01 trunk 62617) [x86_64-darwin16] * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- Ruby warns against this code, which is very helpful. ``` % ruby -we 'if a=1; p a; end' -e:1: warning: found = in conditional, should be == 1 ``` So there's a commonly known practice. In order to express that we're intentionally assigning (not missing one more = sign), we usually add parens around the assignment. But in fact, Ruby still warns... ``` % ruby -we 'if (a=1); p a; end' -e:1: warning: found = in conditional, should be == 1 ``` Can this behavior changed not to warn when parenthesized? -- https://bugs.ruby-lang.org/ Unsubscribe: