@@ -25,8 +25,8 @@ defmodule Kernel.LexicalTracker do
2525 Invoked during module expansion to annotate a require
2626 must be warned if unused.
2727 """
28- def warn_require ( pid , meta , module ) do
29- :gen_server . cast ( pid , { :warn_require , module , meta } )
28+ def warn_require ( pid , meta , module , alias ) do
29+ :gen_server . cast ( pid , { :warn_require , module , meta , alias } )
3030 module
3131 end
3232
@@ -171,9 +171,12 @@ defmodule Kernel.LexicalTracker do
171171 end
172172
173173 def handle_call ( :unused_requires , _from , state ) do
174+ % { references: references , aliases: aliases } = state
175+
174176 unused_requires =
175- for { module , meta } <- state . requires , Map . get ( state . references , module ) != :compile do
176- { module , meta }
177+ for { module , { meta , alias } } <- state . requires ,
178+ Map . get ( references , module ) != :compile do
179+ { module , meta , alias , Map . get ( aliases , alias ) == :used }
177180 end
178181
179182 { :reply , Enum . sort ( unused_requires ) , state }
@@ -274,8 +277,8 @@ defmodule Kernel.LexicalTracker do
274277 { :noreply , put_in ( state . imports [ module ] [ @ warn_key ] , true ) }
275278 end
276279
277- def handle_cast ( { :warn_require , module , meta } , state ) do
278- { :noreply , put_in ( state . requires [ module ] , meta ) }
280+ def handle_cast ( { :warn_require , module , meta , alias } , state ) do
281+ { :noreply , put_in ( state . requires [ module ] , { meta , alias } ) }
279282 end
280283
281284 @ doc false
0 commit comments