forked from mauke/Function-Parameters
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
135 lines (106 loc) · 4.76 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Revision history for Function-Parameters
1.0603 2014-11-25
- some documentation changes
- compatibility with perl development versions
1.0602 2014-10-21
- fix warnings under perl5.21 (causes harmless test failure)
1.0601 2014-10-20
- allow nameless parameters for arguments that should be ignored
- fix string comparison bug (":lvaluefoobar" treated as ":lvalue", etc)
- explicitly disallow $_/@_/%_ as parameters
- change "Not enough" to "Too few" in error message to match perl
- don't parse $#foo as a sigil plus comment
- remove implicitly optional parameters ("fun foo($x = 42, $y)" used to
be equivalent to "fun foo($x = 42, $y = undef)")
1.0503 2014-10-17
- skip initializing parameters if the default argument is undef
(don't generate '$x = undef if @_ < 1' for 'fun ($x = undef)')
1.0502 2014-10-16
- fix bug that prevents building with threaded perls
1.0501 2014-10-13
- support :prototype(...) for setting the prototype
- allow fun foo($x =, $y =) (empty default arg equivalent to
specifying undef)
1.0404 2014-10-13
- fix segfault on 'fun foo(A[[' (malformed type)
1.0403 2014-10-12
- general overhaul for 5.18 and 5.20 support
- be more flexible about strict 'vars' error message in tests
(#99100)
1.0402 2014-09-01
- fix #92871: don't access dead stack frames on error
- fix #95803: don't dereference NULL
1.0401 2013-10-09
- enable type checks by default
1.0301 2013-09-16
- support 'defaults' to base keywords on existing keyword types
- 'check_argument_count' no longer controls type checks
- new 'check_argument_types' property controls type checks
- new 'strict' property does what 'check_argument_count' used to
- new 'runtime' property lets you define functions at runtime
- some more tests
1.0202 2013-08-28
- make t/foreign/Fun/name.t less fragile to support newer Carp
- support older Moo without ->meta support
1.0201 2013-08-13
- custom (per-keyword) type reification
- actually use documented defaults for custom keywords
1.0104 2013-06-16
- support unicode in custom keywords
- actually validate default attributes
1.0103 2013-06-09
- properly allow non-moose-based custom type constraints (#85851)
1.0102 2013-03-08
- prepare for internals changes in the upcoming 5.18 release
(https://rt.cpan.org/Ticket/Display.html?id=83439)
- only allocate memory after recognizing a keyword like 'fun'
(might speed up parsing a little)
1.0101 2013-02-05
- new reflection API to inspect parameter information of functions
- Moose types in parameter lists
- more tests
1.0004 2012-11-26
- fix test relying on hash ordering
1.0003 2012-11-19
- clean up internals
- fix build errors on some platforms
- fix module metadata
- some more tests
1.00 2012-11-01
- add named parameters with ':$foo, :$bar' syntax
- rewrite documentation
- more tests (some of them copied from similar modules on CPAN)
0.10 2012-10-21
- add ':strict' import target
- support $invocant: parameter syntax
0.09 2012-10-14
- fix wrong line number for statement immediately following a function
0.08 2012-07-19
- support UTF-8 in function/parameter names
- better detection of invalid prototypes
0.07 2012-06-25
- completely rework internals to generate optrees directly
(no more generating/reparsing source)
- simplify / fewer dependencies
- new feature: default arguments (on by default)
- new feature: strict argument count checks (off by default)
enabled by "*_strict" variants of symbolic types
0.06 2012-06-19
- complete rewrite in XS
- require perl 5.14+
- hopefully fix bug where it would get the line numbers wrong
- we're a lexical pragma now; remove import_into()
- more fine-grained control over behavior of generated keywords:
* function name can be optional/required/prohibited
* invocant name can be any variable, not just $self
* default attributes (and method now defaults to ':method')
0.05 2011-08-02
- complete rewrite
- hopefully fix bug where it would swallow compilation errors or get the line numbers wrong
- method keyword!
- more flexible keyword customization
0.04 2010-03-03
- allow renaming the function keyword
- provide import_into so you can mess with other packages
0.03 2009-12-14
First version, released on an unsuspecting world.