Hi All,
�� �I just stumbled across a bug of mine which is a rare but easy-to-make slip, that of an unused block, �e.g. expr ifTrue: [[something that doesn't get done]]. �Here's a check for it (I'll check it in as a SysdtemNavigation method and perhaps the RB includes it in its lint tests). �There's one method in Squeak trunk that falls foul of this.
"Scan for the byte following each block creation being the pop bytecode."
SystemNavigation new browseAllSelect:
[:m| | is |
is := InstructionStream on: m.
is scanFor: [:b| b = 143 and: [(m at: is thirdByte * 256 + is fourthByte + is pc + 4) = 135]]]