1use warnings;
2use strict;
3use Test::Simple tests => 3;
4
5package Foo;
6use overload
7  nomethod => sub { die "unimplemented\n" };
8sub new { bless {}, shift };
9
10package main;
11
12my $foo = Foo->new;
13
14eval {my $val = $foo + 1};
15ok( $@ =~ /unimplemented/, "'+'  not implemented; 'nomethod' special key invoked" );
16
17eval {$foo += 1};
18ok( $@ =~ /unimplemented/, "'+=' not implemented; 'nomethod' special key invoked"  );
19
20eval {my $val = 0; $val += $foo};
21ok( $@ =~ /unimplemented/, "'+=' not implemented; 'nomethod' special key invoked"  );
22
23