Issue #15848 has been updated by sos4nt (Stefan Sch=FC=DFler). nobu (Nobuyoshi Nakada) wrote: > No, it doesn't. > That warning is only when the RHS is a literal, but a method call doesn't= cause the warning. It didn't occur to me the warning is aware of that. I should have tested wi= th the actual example code. Thanks for the clarification nobu! And thanks for closing it as a duplicate, I searched for one before posting= but couldn't find any. (probably because it was already closed) ---------------------------------------- Feature #15848: Silence warning when conditional assignments are wrapped in= parentheses https://bugs.ruby-lang.org/issues/15848#change-78016 * Author: sos4nt (Stefan Sch=FC=DFler) * Status: Rejected * Priority: Normal * Assignee: = * Target version: = ---------------------------------------- Sometime it's convenient to have an assignment in an `if`-condition. The Ru= by documentation even contains an example showing this *"most common use of= side-effect"* practice: http://ruby-doc.org/core-2.6.3/doc/syntax/control_expressions_rdoc.html#lab= el-if+Expression ```ruby if a =3D object.some_value # do something to a end ``` Running that code however results in a warning: > warning: found =3D in conditional, should be =3D=3D It's very unfortunate that the Ruby docs contain example code that the pars= er complains about. And it's unfortunate that we can't make use of conditio= nal assignments without getting warnings or turning off warnings. I propose an obvious change to the current warning mechanism: **Don't show the warning when the assignment is wrapped in parentheses.** ```ruby if a =3D object.some_value # warning end if (a =3D object.some_value) # no warning end ``` This is the way RoboCop already works and it's also a known workaround from= other languages. It would also allow the documentation to contain a warning-free example. -- = https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>