@@ -62,10 +62,9 @@ defmodule Module.Types do
6262    end 
6363
6464    stack  =  stack ( :infer ,  file ,  module ,  { :__info__ ,  1 } ,  :all ,  env ,  handler ) 
65-     context  =  context ( % { } ) 
6665
6766    { types ,  % { local_sigs:  local_sigs } }  = 
68-       for  { fun_arity ,  kind ,  meta ,  clauses }  =  def  <-  defs ,  reduce:  { [ ] ,  context }  do 
67+       for  { fun_arity ,  kind ,  meta ,  clauses }  =  def  <-  defs ,  reduce:  { [ ] ,  context ( ) }  do 
6968        { types ,  context }  -> 
7069          cond  do 
7170            kind  in  [ :def ,  :defmacro ]  -> 
@@ -166,10 +165,9 @@ defmodule Module.Types do
166165
167166    handler  =  & local_handler ( & 1 ,  & 2 ,  & 3 ,  & 4 ,  finder ) 
168167    stack  =  stack ( :dynamic ,  file ,  module ,  { :__info__ ,  1 } ,  no_warn_undefined ,  cache ,  handler ) 
169-     context  =  context ( % { } ) 
170168
171169    context  = 
172-       Enum . reduce ( defs ,  context ,  fn  { fun_arity ,  _kind ,  meta ,  _clauses }  =  def ,  context  -> 
170+       Enum . reduce ( defs ,  context ( ) ,  fn  { fun_arity ,  _kind ,  meta ,  _clauses }  =  def ,  context  -> 
173171        finder  =  fn  _  ->  { :dynamic ,  def }  end 
174172        { _kind ,  _inferred ,  context }  =  local_handler ( meta ,  fun_arity ,  stack ,  context ,  finder ) 
175173        context 
@@ -326,7 +324,7 @@ defmodule Module.Types do
326324  end 
327325
328326  @ doc  false 
329-   def  context ( local_sigs )  do 
327+   def  context ( )  do 
330328    % { 
331329      # A list of all warnings found so far 
332330      warnings:  [ ] , 
@@ -336,9 +334,9 @@ defmodule Module.Types do
336334      pattern_info:  nil , 
337335      # If type checking has found an error/failure 
338336      failed:  false , 
339-       # Local signatures 
340-       local_sigs:  local_sigs , 
341-       # Local  clauses 
337+       # Local signatures used by local handler  
338+       local_sigs:  % { } , 
339+       # Track which  clauses have been used across private local calls  
342340      local_used:  % { } 
343341    } 
344342  end 
0 commit comments