# Pastebin J2IFVG2m Cool.pm - proto method index(|) {*} - multi method index(Cool:D: Str(Cool) $needle) { - self.Str.index($needle) - } - multi method index(Cool:D: Str(Cool) $needle, Int(Cool) $pos) { - self.Str.index($needle,$pos) + method index(Cool:D: |c) { + self.Str.index(|c) Str.pm - multi method index(Str:D: Str:D $needle) { + proto method index(|) {*} + multi method index(Str:D: Str(Cool:D) $needle) { nqp::if( nqp::islt_i((my int $i = nqp::index($!value,nqp::getattr($needle,Str,'$!value'))), @@ -229,7 +235,7 @@ my class Str does Stringy { # declared in BOOTSTRAP nqp::p6box_i($i) ) } - multi method index(Str:D: Str:D $needle, Int:D $pos) { + multi method index(Str:D: Str(Cool:D) $needle, Int:D $pos) { nqp::if( nqp::isbig_I(nqp::decont($pos)), Failure.new(X::OutOfRange.new( @@ -255,6 +261,7 @@ my class Str does Stringy { # declared in BOOTSTRAP ) }