package Moose::Meta::Method::Accessor::Native::Number::sub;

use strict;
use warnings;

our $VERSION = '1.19';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';

use Moose::Role;

with 'Moose::Meta::Method::Accessor::Native::Writer' => {
    -excludes => [
        qw(
            _minimum_arguments
            _maximum_arguments
            _optimized_set_new_value
            )
    ]
    };

sub _minimum_arguments {1}

sub _maximum_arguments {1}

sub _potential_value {
    my $self = shift;
    my ($slot_access) = @_;

    return $slot_access . ' - $_[0]';
}

sub _optimized_set_new_value {
    my $self = shift;
    my ($inv, $new, $slot_access) = @_;

    return $slot_access . ' -= $_[0]';
}

no Moose::Role;

1;
