NAME

Return::Type::Lexical - Same thing as Return::Type, but lexical

VERSION

version 0.002

SYNOPSIS

use Return::Type::Lexical;
use Types::Standard qw(Int);

sub foo :ReturnType(Int) { return "not an int" }

{
    no Return::Type::Lexical;
    sub bar :ReturnType(Int) { return "not an int" }
}

my $foo = foo();    # throws an error
my $bar = bar();    # returns "not an int"

# Can also be used with Devel::StrictMode to only perform
# type checks in strict mode:

use Devel::StrictMode;
use Return::Type::Lexical check => STRICT;

DESCRIPTION

This module works just like Return::Type, but type-checking can be enabled and disabled within lexical scopes.

There is no runtime penalty when type-checking is disabled.

METHODS

import

The check attribute can be used to set whether or not types are checked.

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/chazmcgarvey/Return-Type-Lexical/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

Charles McGarvey <chazmcgarvey@brokenzipper.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Charles McGarvey.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.