This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
detect sub attributes following a signature
[perl5.git] / t / op / signatures.t
index 616b6a1..37fe166 100644 (file)
@@ -1535,6 +1535,23 @@ while(<$kh>) {
     is $x, "Xbc", "RT #132141";
 }
 
     is $x, "Xbc", "RT #132141";
 }
 
+# RT #132760
+# attributes have been moved back before signatures for 5.28. Ensure that
+# code doing it the old wrong way get a meaningful error message.
+
+{
+    my @errs;
+    local $SIG{__WARN__} = sub { push @errs, @_};
+    eval q{
+        sub rt132760 ($a, $b) :prototype($$) { $a + $b }
+    };
+
+    @errs = split /\n/, $@;
+    is +@errs, 1, "RT 132760 expect 1 error";
+    like $errs[0],
+        qr/^Subroutine attributes must come before the signature at/,
+        "RT 132760 err 0";
+}
 
 done_testing;
 
 
 done_testing;