X.ancestors に M2 が反映されるようになる module M; end class X include M end # この時点では M のみ反映されている p X.ancestors # => [X, M, Object, Kernel, BasicObject] module M2; end # M に対してあとから include したときの挙動が変わった M.include M2 # Ruby 2.7 : M2 は反映されない # Ruby 3.0 : M2 が反映される p X.ancestors # Ruby 2.7 => [X, M, Object, Kernel, BasicObject] # Ruby 3.0 => [X, M, M2, Object, Kernel, BasicObject]