From 1c068dda79067903c7f89c135ad108b2257e7bd7 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Sat, 6 Jun 2015 08:45:53 -0600 Subject: [PATCH] Revert "Make bare min/max/minmax fail" Un-ban bare min/max/minmax. After having slept on it, I had my doubts about it as well. Mind you, a bare take/take-rw as a shortcut for taking Mu, still does not make sense to me, so I've kept them banned. --- src/core/Any.pm | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/core/Any.pm b/src/core/Any.pm index e7de5c01b65..2a9e3146cdf 100644 --- a/src/core/Any.pm +++ b/src/core/Any.pm @@ -688,30 +688,27 @@ multi sub infix:(Mu:D \a, Mu:D \b) { (a cmp b) < 0 ?? a !! b } multi sub infix:(*@args) { @args.min } # XXX the multi version suffers from a multi dispatch bug # where the mandatory named is ignored in the presence of a slurpy -proto sub min(|) { * } +#proto sub min(|) { * } #multi sub min(*@args) { @args.min() } #multi sub min(*@args, :&by!) { @args.min(&by) } -multi sub min() { die "min without parameters doesn't make sense" } -multi sub min(*@args, :&by = &infix:) { @args.min(&by) } +sub min(*@args, :&by = &infix:) { @args.min(&by) } proto sub infix:(|) is pure { * } multi sub infix:(Mu:D \a, Mu:U) { a } multi sub infix:(Mu:U, Mu:D \b) { b } multi sub infix:(Mu:D \a, Mu:D \b) { (a cmp b) > 0 ?? a !! b } multi sub infix:(*@args) { @args.max } -proto sub max(|) { * } +#proto sub max(|) { * } #multi sub max(*@args) { @args.max() } #multi sub max(*@args, :&by!) { @args.max(&by) } -multi sub max() { die "max without parameters doesn't make sense" } -multi sub max(*@args, :&by = &infix:) { @args.max(&by) } +sub max(*@args, :&by = &infix:) { @args.max(&by) } proto sub infix:(|) is pure { * } multi sub infix:(**@args) { @args.minmax } -proto sub minmax(|) { * } +#proto sub minmax(|) { * } #multi sub minmax(*@args) { @args.minmax() } #multi sub minmax(*@args, :&by!) { @args.minmax(&by) } -multi sub minmax() { die "minmax without parameters doesn't make sense" } -multi sub minmax(**@args, :&by = &infix:) { @args.minmax(&by) } +sub minmax(**@args, :&by = &infix:) { @args.minmax(&by) } proto sub map(|) {*} # fails integration/99problems-21-to-30, test 12/13