elixir-lang/ex_doc — pull request #48 by jwarwick (2013-07-23 02:50:29+00:00)
Title: Updated HtmlFormatter and Retriever to use Protocol.__impl__/1

Elixir removed `Protocol.__impl__/0` in commit elixir-lang/elixir@a46b78a35339cfef2a10b4d2cf4e44c960b7035e

Retriever was checking if `__impl/0__` was exported to determine if a module was a `defimpl`.

HtmlFormatter was using the value of `__impl__/0` to determine if the child impl was an implementation of the parent protocol. Not sure if that's allowed by the language, but I left it in, using `Module.split` to chop up the name and verify the protocol was a prefix of the impl.