numo-narray icon indicating copy to clipboard operation
numo-narray copied to clipboard

Avoiding `warning: possibly useless use of + in void context`

Open mrkn opened this issue 5 years ago • 1 comments

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

mrkn avatar Jan 18 '20 23:01 mrkn

This idea seems a good workaround, but it is not applicable to more complex expressions like

a.inplace * 2 + 1

Hmm...

masa16 avatar Jan 20 '20 09:01 masa16