Commit b07518e
parse.y: implement
`&nil` is recently introduced in CRuby to explicitly declare that
a method does not accept a block. When a block is passed,
ArgumentError "no block accepted" is raised. This is analogous to
`**nil` for keyword arguments.
The noblock flag is encoded in bit 23 of OP_ENTER's aspec operand
(24=n1:m5:o5:r1:m5:k5:d1:b1), avoiding the need for a new opcode.
Co-authored-by: Claude <noreply@anthropic.com>&nil in formal parameters1 parent 337cf4b commit b07518e
8 files changed
Lines changed: 2780 additions & 2800 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
922 | 922 | | |
923 | 923 | | |
924 | 924 | | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
925 | 930 | | |
926 | 931 | | |
927 | 932 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| 75 | + | |
75 | 76 | | |
76 | 77 | | |
77 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2401 | 2401 | | |
2402 | 2402 | | |
2403 | 2403 | | |
2404 | | - | |
| 2404 | + | |
| 2405 | + | |
| 2406 | + | |
2405 | 2407 | | |
2406 | 2408 | | |
2407 | 2409 | | |
2408 | 2410 | | |
2409 | | - | |
2410 | | - | |
| 2411 | + | |
| 2412 | + | |
| 2413 | + | |
2411 | 2414 | | |
2412 | 2415 | | |
2413 | 2416 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1215 | 1215 | | |
1216 | 1216 | | |
1217 | 1217 | | |
1218 | | - | |
| 1218 | + | |
1219 | 1219 | | |
1220 | 1220 | | |
1221 | 1221 | | |
| |||
4861 | 4861 | | |
4862 | 4862 | | |
4863 | 4863 | | |
| 4864 | + | |
| 4865 | + | |
| 4866 | + | |
| 4867 | + | |
4864 | 4868 | | |
4865 | 4869 | | |
4866 | 4870 | | |
| |||
8047 | 8051 | | |
8048 | 8052 | | |
8049 | 8053 | | |
| 8054 | + | |
| 8055 | + | |
8050 | 8056 | | |
8051 | 8057 | | |
8052 | 8058 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
377 | | - | |
| 377 | + | |
378 | 378 | | |
379 | 379 | | |
380 | 380 | | |
381 | 381 | | |
382 | 382 | | |
383 | 383 | | |
384 | | - | |
| 384 | + | |
| 385 | + | |
385 | 386 | | |
386 | 387 | | |
387 | 388 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2558 | 2558 | | |
2559 | 2559 | | |
2560 | 2560 | | |
| 2561 | + | |
| 2562 | + | |
| 2563 | + | |
| 2564 | + | |
| 2565 | + | |
| 2566 | + | |
2561 | 2567 | | |
2562 | 2568 | | |
2563 | 2569 | | |
| |||
0 commit comments