1 Revision history for Function-Parameters
4 - support 'defaults' to base keywords on existing keyword types
5 - 'check_argument_count' no longer controls type checks
6 - new 'check_argument_types' property controls type checks
7 - new 'strict' property does what 'check_argument_count' used to
8 - new 'runtime' property lets you define functions at runtime
12 - make t/foreign/Fun/name.t less fragile to support newer Carp
13 - support older Moo without ->meta support
16 - custom (per-keyword) type reification
17 - actually use documented defaults for custom keywords
20 - support unicode in custom keywords
21 - actually validate default attributes
24 - properly allow non-moose-based custom type constraints (#85851)
27 - prepare for internals changes in the upcoming 5.18 release
28 (https://rt.cpan.org/Ticket/Display.html?id=83439)
29 - only allocate memory after recognizing a keyword like 'fun'
30 (might speed up parsing a little)
33 - new reflection API to inspect parameter information of functions
34 - Moose types in parameter lists
38 - fix test relying on hash ordering
42 - fix build errors on some platforms
47 - add named parameters with ':$foo, :$bar' syntax
48 - rewrite documentation
49 - more tests (some of them copied from similar modules on CPAN)
52 - add ':strict' import target
53 - support $invocant: parameter syntax
56 - fix wrong line number for statement immediately following a function
59 - support UTF-8 in function/parameter names
60 - better detection of invalid prototypes
63 - completely rework internals to generate optrees directly
64 (no more generating/reparsing source)
65 - simplify / fewer dependencies
66 - new feature: default arguments (on by default)
67 - new feature: strict argument count checks (off by default)
68 enabled by "*_strict" variants of symbolic types
71 - complete rewrite in XS
73 - hopefully fix bug where it would get the line numbers wrong
74 - we're a lexical pragma now; remove import_into()
75 - more fine-grained control over behavior of generated keywords:
76 * function name can be optional/required/prohibited
77 * invocant name can be any variable, not just $self
78 * default attributes (and method now defaults to ':method')
82 - hopefully fix bug where it would swallow compilation errors or get the line numbers wrong
84 - more flexible keyword customization
87 - allow renaming the function keyword
88 - provide import_into so you can mess with other packages
91 First version, released on an unsuspecting world.