1 # Miscellaneous tests for XS lvalue functions
6 use Test::More tests => 4;
8 use XS::APItest 'lv_temp_object';
13 local $SIG{__WARN__} = sub { $w = shift };
16 lv_temp_object() = 75;
17 like $w, qr/Useless assignment to a temporary at/,
18 'warning when assigning to temp returned from XS lv sub';
20 (lv_temp_object()) = 75;
21 like $w, qr/Useless assignment to a temporary at/,
22 'warning when list-assigning to temp returned from XS lv sub';
26 package XS::APItest::TempObj;
27 use overload '.=' => sub { $::assigned = $_[1] };
29 lv_temp_object() .= 63;
30 is $::assigned, 63, 'overloaded .= on temp obj returned from lv sub';
31 is $w, undef, 'no warning from overloaded .= on temp obj';