Hello, I’m trying to gather some feedback for the community to (possibly) construct a proposal if appropriate.
Background: I was working on upgrading ESpec to be compatible with Elixir 1.10. I ran into the following issue described over in this github issue. The main issue was that the “stale” feature was using Kernel.LexicalTracker module private API which was changed with the release of Elixir 1.10 and ESpec.Diff was using the ExUnit.Diff private API which changed with the release of 1.10.
I was thinking now that we’ve run into this issue in the wild in the ESpec library, it might be worth discussing how to incorporate more public APIs from Elixir/ExUnit (rather than private APIs, which is frowned upon for good reasons). It’s something I thought about when doing the “stale” feature but couldn’t really find a good way to go about it at the time.
The question I’m soliciting feedback on:
- Is there an obvious reason why APIs which ExUnit references (e.g., Kernel.LexicalTracker, ExUnit.Diff) should not be made public?
- Any other thoughts/concerns/feedback?
PS - following this thread as the directions for soliciting suggestions - How to use the Suggestions & Proposals section