From: drenmi@... Date: 2017-09-06T15:43:58+00:00 Subject: [ruby-core:82679] [Ruby trunk Bug#13872] Duplicate assignment no longer silences "assigned but unused variable" warning 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: