defmodule A do
use Boundary, deps: [], exports: []
end
defmodule A.Dep do
def run do
B.run()
end
end
defmodule B do
use Boundary, deps: [], exports: []
def run do
IO.inspect(__MODULE__)
end
end
mix compile output:
warning: forbidden reference to B
(references from A to B are not allowed)
lib/a/dep.ex:3
Code after:
defmodule A do
use Boundary, deps: [], exports: []
end
defmodule A.Dep do
def run do
# removed reference to B
end
end
defmodule B do
use Boundary, deps: [], exports: []
def run do
IO.inspect(__MODULE__)
end
end
Expected behaviour:
Project compiles without warnings
Actual behaviour:
Compiling 1 file (.ex)
warning: forbidden reference to B
(references from A to B are not allowed)
lib/a/dep.ex:3
Code before:
Code after:
Expected behaviour: Project compiles without warnings
Actual behaviour:
Warning only disappears after running mix clean