Project

General

Profile

Feature #14397

public, protected and private should return their arguments instead of self

Added by usa (Usaku NAKAMURA) about 1 year ago. Updated 4 months ago.

Status:
Assigned
Priority:
Normal
Target version:
-
[ruby-core:85079]

Description

Matsuda-san suggested me that public, protected and private should return their arguments instead of self,
to write such code:`

require "finalist"
# see https://github.com/joker1007/finalist

class Foo
  extend Finalist

  final private def foo
  end
end

I believe that it's reasonable request, and also believe that there is no product code which uses the return values of public, protected and private.
Matz, how do you think about this change?
The patch is attached.


Files

return_values_of_visibility_methods.diff (7.47 KB) return_values_of_visibility_methods.diff usa (Usaku NAKAMURA), 01/24/2018 09:25 PM

Related issues

Related to CommonRuby - Feature #11541: Let attr_accessor, _reader & _writer return symbols of the defined methodsOpenActions
Has duplicate Ruby trunk - Feature #14396: public, protected and private should return their arguments instead of selfRejectedActions

History

#1

Updated by usa (Usaku NAKAMURA) about 1 year ago

  • Has duplicate Feature #14396: public, protected and private should return their arguments instead of self added
#2

Updated by Eregon (Benoit Daloze) about 1 year ago

  • Related to Feature #11541: Let attr_accessor, _reader & _writer return symbols of the defined methods added

Updated by Eregon (Benoit Daloze) about 1 year ago

Would it be simpler for the semantics to always return an Array of symbols?
Otherwise final (and other potential uses) has to handle both a single Symbol and an Array of Symbol.

One concern is the extra allocations for the common case of a single argument given to private.

#4

Updated by naruse (Yui NARUSE) 4 months ago

  • Target version deleted (2.6)

Also available in: Atom PDF