diff options
author | Koichi Sasada <ko1@atdot.net> | 2024-03-27 07:29:38 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2024-04-15 12:08:07 +0900 |
commit | 9180e33ca3a5886fec3f9e0a2f48072b55914e65 (patch) | |
tree | 6ce301e829b11f7189befef36a80924287d5d386 /vm_core.h | |
parent | 515e52a0b1ce61ccaffe9183bcb78dda95a64907 (diff) | |
download | ruby-9180e33ca3a5886fec3f9e0a2f48072b55914e65.tar.gz |
show warning for unused block
With verbopse mode (-w), the interpreter shows a warning if
a block is passed to a method which does not use the given block.
Warning on:
* the invoked method is written in C
* the invoked method is not `initialize`
* not invoked with `super`
* the first time on the call-site with the invoked method
(`obj.foo{}` will be warned once if `foo` is same method)
[Feature #15554]
`Primitive.attr! :use_block` is introduced to declare that primitive
functions (written in C) will use passed block.
For minitest, test needs some tweak, so use
https://github.com/minitest/minitest/commit/ea9caafc0754b1d6236a490d59e624b53209734a
for `test-bundled-gems`.
Diffstat (limited to 'vm_core.h')
-rw-r--r-- | vm_core.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -418,6 +418,7 @@ struct rb_iseq_constant_body { unsigned int ruby2_keywords: 1; unsigned int anon_rest: 1; unsigned int anon_kwrest: 1; + unsigned int use_block: 1; } flags; unsigned int size; |