Skip to content

Commit 0d5bf3a

Browse files
author
José Valim
committed
Merge pull request #1876 from alco/before-compile-doc
Fix the example for @before_compile hook
2 parents a73235a + 66019c3 commit 0d5bf3a

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/elixir/lib/module.ex

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,24 @@ defmodule Module do
5151
When just a module is provided, the function/macro is assumed to be
5252
`__before_compile__/1`.
5353
54-
### Example
54+
Note: differently from `@after_compile`, the callback function/macro must
55+
be placed in a separate module (because when the callback is invoked,
56+
the current module does not yet exist).
5557
56-
defmodule M do
57-
@before_compile __MODULE__
58+
### Example
5859
60+
defmodule A do
5961
defmacro __before_compile__(_env) do
6062
quote do
6163
def hello, do: "world"
6264
end
6365
end
6466
end
6567
68+
defmodule B do
69+
@before_compile A
70+
end
71+
6672
* `@behaviour` (notice the british spelling)
6773
6874
Specify an OTP or user-defined behaviour.

0 commit comments

Comments
 (0)