[perl #131696] [LTA] internal error for invalid native type in "is native"
Tests in https://github.com/rakudo/rakudo/blob/bfe2ad63f8ea17cbc11e836b7fcb1c8f35515cbd/t/04-nativecall/18-routine-sig-sanity.t#L95
[perl #131696] [LTA] internal error for invalid native type in "is native"
On Mon, 03 Jul 2017 14:16:58 -0700, allber...@gmail.com wrote: > [03 21:03:27] m: use NativeCall; sub foo(num $a) is > native("foo") { * }; > [03 21:03:27] rakudo-moar a7b230: OUTPUT: «===SORRY!=== Error > while compiling  > [03 21:03:27] Cannot resolve caller infix:<==>(NQPMu, Int); none of these > signatures match: > [03 21:03:27] ($?) > [03 21:03:27] (\a, \b) > [03 21:03:27] (Real \a, Real \b) > [03 21:03:27] (Int:D \a, Int:D \b) > [03 21:03:27] (int $a, int $b) > [03 21:03:27] (Num:D \a, Num:D \b …» > [03 21:06:25] now I think we have an LTA... > [03 21:06:52] m: use NativeCall; sub foo(num32 $a) is > native("foo") { * }; > [03 21:06:53] rakudo-moar a7b230: ( no output ) > [03 21:06:59] LTA for a bad native type > Testing with ~ $ perl6 -v This is Rakudo version 2018.02.1-164-g57af8b847 built on MoarVM version 2018.02-171-geee5be412 implementing Perl 6.c. the result looks quite a bit better: ~ $ perl6 -e 'use NativeCall; sub foo(num $a) is native("foo") { * }' Potential difficulties: In 'foo' routine declaration - Not an accepted NativeCall type for parameter [1] $a : num --> For Numerical type, use the appropriate int32/int64/num64... at -e:1 --> use NativeCall; sub foo(num $a) ⏏is native("foo") { * }
[perl #131696] [LTA] internal error for invalid native type in "is native"
# New Ticket Created by Brandon Allbery # Please include the string: [perl #131696] # in the subject line of all future correspondence about this issue. # https://rt.perl.org/Ticket/Display.html?id=131696 > [03 21:03:27] m: use NativeCall; sub foo(num $a) is native("foo") { * }; [03 21:03:27] rakudo-moar a7b230: OUTPUT: «===SORRY!=== Error while compiling  [03 21:03:27] Cannot resolve caller infix:<==>(NQPMu, Int); none of these signatures match: [03 21:03:27] ($?) [03 21:03:27] (\a, \b) [03 21:03:27] (Real \a, Real \b) [03 21:03:27] (Int:D \a, Int:D \b) [03 21:03:27] (int $a, int $b) [03 21:03:27] (Num:D \a, Num:D \b …» [03 21:06:25] now I think we have an LTA... [03 21:06:52] m: use NativeCall; sub foo(num32 $a) is native("foo") { * }; [03 21:06:53] rakudo-moar a7b230: ( no output ) [03 21:06:59] LTA for a bad native type -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net