Actions
Bug #21381
closedDifferent error messages when mixing `it` and `_1` in block for Prism and parse.y
    Bug #21381:
    Different error messages when mixing `it` and `_1` in block for Prism and parse.y
  
ruby -v:
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux] and ruby 3.4.4 (2025-05-14 revision a38531fd3f) [x86_64-linux]
Description
$ ruby -v -e 'proc { it + _1 }'
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]
-e: -e:1: syntax error found (SyntaxError)
> 1 | proc { it + _1 }
    |             ^~ numbered parameters are not allowed when 'it' is already used
$ ruby -v --parser=parse.y -e 'proc { it + _1 }'
ruby 3.4.4 (2025-05-14 revision a38531fd3f) [x86_64-linux]
-e:1: 'it' is already used in
-e:1: current block here
proc { it + _1 }
ruby: compile error (SyntaxError)
and the other way around:
$ ruby -v -e 'proc { _1 + it}'
ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]
-e: -e:1: syntax error found (SyntaxError)
> 1 | proc { _1 + it}
    |             ^~ `it` is not allowed when a numbered parameter is already used
$ ruby -v --parser=parse.y -e 'proc { _1 + it}'
ruby 3.4.4 (2025-05-14 revision a38531fd3f) [x86_64-linux]
-e:1: numbered parameter is already used in
-e:1: current block here
proc { _1 + it}
ruby: compile error (SyntaxError)
It would expect the relevant part of messages to match. To be clear, I would consider this the relevant parts:
numbered parameters are not allowed when 'it' is already used
'it' is already used in
and
`it` is not allowed when a numbered parameter is already used
numbered parameter is already used
  
        
          
          Updated by herwin (Herwin W) 5 months ago
          
          
        
        
      
      (very minor issue, I wouldn't mind too much if it would not be fixed)
        
          
          Updated by mame (Yusuke Endoh) 5 months ago
          
          
        
        
      
      - Assignee set to nobu (Nobuyoshi Nakada)
 
        
          
          Updated by nobu (Nobuyoshi Nakada) 5 months ago
          
          
        
        
      
      - Status changed from Open to Closed
 
Applied in changeset git|0e0008da0f19d098a2e98902f2215c126aca0101.
[Bug #21381] Refine error messages for it and numbered parameters
Actions