1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Specify refinement inheritance by Module#include.

[ruby-core:79880] [Bug #13271]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shugo 2017-12-03 08:35:44 +00:00
parent 3616b07c9a
commit 476f9b6388

View file

@ -256,6 +256,29 @@ method lookup.
This behavior may be changed in the future.
== Refinement inheritance by Module#include
When a module X is included into a module Y, Y inherits refinments from X.
For exmaple, C inherits refinements from A and B in the following code:
module A
refine X do ... end
refine Y do ... end
end
module B
refine Z do ... end
end
module C
include A
include B
end
using C
# Refinements in A and B are activated here.
Refinements in descendents have higher precedence than those of ancestors.
== Further Reading
See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/RefinementsSpec for the