``` defmodule M do def test(x) do case x do {:file, fid} -> fid {:path, _} -> fn(fid) -> # variable fid shadowed in 'fun' fid end end end end ``` Compiler produces the warning showed in the comment above. Semantically equivalent Erlang code does not produce a warning: ``` -module(tst). -export([test/1]). test(X) -> case X of {file, Fid} -> Fid; {path, _} -> fun(Fid) -> Fid end end. ```