Avoiding `warning: possibly useless use of + in void context`
mrkn opened this issue · 1 comments
mrkn commented
Our inplace
idiom occurs warning like warning: possibly useless use of + in void context
.
To avoid such warnings, how do you think defining inplace=
?
With this method, we can write ary.inplace += 10
, which don't occur such warnings.
$ cat -n inplace.rb
1 require 'numo/narray'
2
3 class Numo::NArray
4 # Dummy definition for PoC
5 def inplace=(other)
6 self
7 end
8 end
9
10 a = Numo::DFloat[1, 2, 3, 4, 5]
11 a.inplace + 10 # this involves a warning
12 a.inplace += 20 # this doesn't involve a warning
$ ruby -w inplace.rb
inplace.rb:11: warning: possibly useless use of + in void context
masa16 commented
This idea seems a good workaround, but it is not applicable to more complex expressions like
a.inplace * 2 + 1
Hmm...