Issue #13872 has been updated by ted (Ted Johansson).


Previously, `foo = foo = "bar"` was used as a workaround. Now that the workaround is "fixed", I see incoming PRs changing the workaround to `foo = "bar"; foo = foo`.

It would be nice if we had a way to handle these false positives directly, without having to resort to tricks. :-)


segiddins (Samuel Giddins) wrote:
> On ruby 2.4.1:
> 
> `ruby -W -e 'def a; var = var = "foo"; end'`
> 
> prints no warning
> 
> On ruby 2.5.0dev (2017-09-04 trunk 59742) [x86_64-darwin16]
> 
> `ruby -W -e 'def a; var = var = "foo"; end'`
> 
> prints warning `-e:1: warning: assigned but unused variable - var`
> 
> This feature was useful when the local binding would be passed to another scope (like to ERB), and those variables were only accessed via the binding



----------------------------------------
Bug #13872: Duplicate assignment no longer silences "assigned but unused variable" warning
https://bugs.ruby-lang.org/issues/13872#change-66514

* Author: segiddins (Samuel Giddins)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.0dev (2017-09-04 trunk 59742) [x86_64-darwin16]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
On ruby 2.4.1:

`ruby -W -e 'def a; var = var = "foo"; end'`

prints no warning

On ruby 2.5.0dev (2017-09-04 trunk 59742) [x86_64-darwin16]

`ruby -W -e 'def a; var = var = "foo"; end'`

prints warning `-e:1: warning: assigned but unused variable - var`

This feature was useful when the local binding would be passed to another scope (like to ERB), and those variables were only accessed via the binding



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>