steep
steep copied to clipboard
Fix UnexpectedError with unnamed arguments
I found two error patterns. It seems to occur when the block argument is unnamed.
m do |*|
1 if 1
#=> UnexpectedError: undefined method `start_with?' for nil(NoMethodError)
#=> 1. /Users/ksss/src/github.com/ksss/steep/lib/steep/type_inference/type_env.rb:316:in `local_variable_name?'
#=> 2. /Users/ksss/src/github.com/ksss/steep/lib/steep/type_inference/type_env.rb:323:in `local_variable_name!'
#=> 3. /Users/ksss/src/github.com/ksss/steep/lib/steep/type_inference/type_env.rb:115:in `block in assign_local_variables'
end
m do |(*)|
1 if 1
#=> UnexpectedError: undefined method `start_with?' for nil(NoMethodError)
#=> 1. /Users/ksss/src/github.com/ksss/steep/lib/steep/type_inference/type_env.rb:316:in `local_variable_name?'
#=> 2. /Users/ksss/src/github.com/ksss/steep/lib/steep/type_inference/type_env.rb:323:in `local_variable_name!'
#=> 3. /Users/ksss/src/github.com/ksss/steep/lib/steep/type_inference/type_env.rb:115:in `block in assign_local_variables'
end
I fixed it so that there is no error even if the block argument is unnamed.