diff --git a/lib/typeprof/core/ast/call.rb b/lib/typeprof/core/ast/call.rb index a2ddb1e3..59f9c931 100644 --- a/lib/typeprof/core/ast/call.rb +++ b/lib/typeprof/core/ast/call.rb @@ -247,7 +247,7 @@ def modified_vars(tbl, vars) subnode.modified_vars(tbl, vars) end else - subnode.each {|n| n.modified_vars(tbl, vars) } + subnode.each {|n| n&.modified_vars(tbl, vars) } end end end diff --git a/scenario/args/anonymous_rest.rb b/scenario/args/anonymous_rest.rb index e66e7efb..deebf1ee 100644 --- a/scenario/args/anonymous_rest.rb +++ b/scenario/args/anonymous_rest.rb @@ -7,10 +7,17 @@ def bar(*) nil end +def foo_in_if(*) + if true + bar(*) + end +end + bar(1, "foo") ## assert class Object def foo: (*untyped) -> nil def bar: (*Integer | String) -> nil + def foo_in_if: (*untyped) -> nil end