"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/core.c/operators.pm6" between
rakudo-2020.08.2.tar.gz and rakudo-2020.09.tar.gz

About: Rakudo is a compiler for the Perl 6 programming language.

operators.pm6  (rakudo-2020.08.2):operators.pm6  (rakudo-2020.09)
skipping to change at line 58 skipping to change at line 58
!! rolish.HOW.archetypes.composalizable() !! rolish.HOW.archetypes.composalizable()
?? rolish.HOW.composalize(rolish) ?? rolish.HOW.composalize(rolish)
!! X::Mixin::NotComposable.new(:target(obj), :rolish(rolish) ).throw !! X::Mixin::NotComposable.new(:target(obj), :rolish(rolish) ).throw
} }
obj.^mixin(|real-roles).BUILD_LEAST_DERIVED({}); obj.^mixin(|real-roles).BUILD_LEAST_DERIVED({});
} }
multi sub infix:<does>(Mu:U \obj, **@roles) is raw { multi sub infix:<does>(Mu:U \obj, **@roles) is raw {
X::Does::TypeObject.new(type => obj).throw X::Does::TypeObject.new(type => obj).throw
} }
# we need this candidate tighter than infix:<cmp>(Real:D, Real:D)
# but can't yet use `is default` at the place where that candidate
# is defined because it uses `infix:<does>`
multi sub infix:<cmp>(Rational:D \a, Rational:D \b) is default {
a.isNaN || b.isNaN ?? a.Num cmp b.Num !! a <=> b
}
proto sub infix:<but>(Mu, |) is pure {*} proto sub infix:<but>(Mu, |) is pure {*}
multi sub infix:<but>(Mu:D \obj, Mu:U \rolish) { multi sub infix:<but>(Mu:D \obj, Mu:U \rolish) {
my $role := rolish.HOW.archetypes.composable() ?? rolish !! my $role := rolish.HOW.archetypes.composable() ?? rolish !!
rolish.HOW.archetypes.composalizable() ?? rolish.HOW.composalize (rolish) !! rolish.HOW.archetypes.composalizable() ?? rolish.HOW.composalize (rolish) !!
X::Mixin::NotComposable.new(:target(obj), :rolish(rolish)).throw ; X::Mixin::NotComposable.new(:target(obj), :rolish(rolish)).throw ;
obj.clone.^mixin($role).BUILD_LEAST_DERIVED({}); obj.clone.^mixin($role).BUILD_LEAST_DERIVED({});
} }
multi sub infix:<but>(Mu:D \obj, Mu:U \rolish, :$value! is raw) { multi sub infix:<but>(Mu:D \obj, Mu:U \rolish, :$value! is raw) {
my $role := rolish.HOW.archetypes.composable() ?? rolish !! my $role := rolish.HOW.archetypes.composable() ?? rolish !!
rolish.HOW.archetypes.composalizable() ?? rolish.HOW.composalize (rolish) !! rolish.HOW.archetypes.composalizable() ?? rolish.HOW.composalize (rolish) !!
 End of changes. 1 change blocks. 
7 lines changed or deleted 0 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)