This small samples demonstrates the impact of adding a method on a public trait.
logger
has a Logger traitlogger-wrapper
uses the Logger traitapp
uses both
Switch to first (initial) commit in repo:
- cd logger && sbt publishLocal && cd ../
- cd logger-wrapper && sbt publishLocal && cd ../
- cd app && sbt run // works
Switch to second commit in repo:
- cd logger && sbt publishLocal && cd ../
- cd app && sbt run // broken
Switch to HEAD in repo:
- cd logger && sbt publishLocal && cd ../
- cd app && sbt run // fixed