@@ -76,6 +76,7 @@ def test_script_lines_encoding
76
76
77
77
def test_anonymous_block_forwarding
78
78
assert_syntax_error ( "def b; c(&); end" , /no anonymous block parameter/ )
79
+ assert_syntax_error ( "def b(&) ->(&) {c(&)} end" , /anonymous block parameter is also used/ )
79
80
assert_separately ( [ ] , "#{ <<-"begin;" } \n #{ <<-'end;' } " )
80
81
begin;
81
82
def b(&); c(&) end
@@ -143,6 +144,9 @@ def all_kwrest(arg1, arg2, *rest, post1, post2, kw1: 1, kw2: 2, okw1:, okw2:, **
143
144
def test_anonymous_rest_forwarding
144
145
assert_syntax_error ( "def b; c(*); end" , /no anonymous rest parameter/ )
145
146
assert_syntax_error ( "def b; c(1, *); end" , /no anonymous rest parameter/ )
147
+ assert_syntax_error ( "def b(*) ->(*) {c(*)} end" , /anonymous rest parameter is also used/ )
148
+ assert_syntax_error ( "def b(a, *) ->(*) {c(1, *)} end" , /anonymous rest parameter is also used/ )
149
+ assert_syntax_error ( "def b(*) ->(a, *) {c(*)} end" , /anonymous rest parameter is also used/ )
146
150
assert_separately ( [ ] , "#{ <<-"begin;" } \n #{ <<-'end;' } " )
147
151
begin;
148
152
def b(*); c(*) end
@@ -156,6 +160,9 @@ def d(*); b(*, *) end
156
160
def test_anonymous_keyword_rest_forwarding
157
161
assert_syntax_error ( "def b; c(**); end" , /no anonymous keyword rest parameter/ )
158
162
assert_syntax_error ( "def b; c(k: 1, **); end" , /no anonymous keyword rest parameter/ )
163
+ assert_syntax_error ( "def b(**) ->(**) {c(**)} end" , /anonymous keyword rest parameter is also used/ )
164
+ assert_syntax_error ( "def b(k:, **) ->(**) {c(k: 1, **)} end" , /anonymous keyword rest parameter is also used/ )
165
+ assert_syntax_error ( "def b(**) ->(k:, **) {c(**)} end" , /anonymous keyword rest parameter is also used/ )
159
166
assert_separately ( [ ] , "#{ <<-"begin;" } \n #{ <<-'end;' } " )
160
167
begin;
161
168
def b(**); c(**) end
0 commit comments