Scalaのprivateメソッドと内部的クラスとバイナリ互換


またバイナリ互換・・・
Scalaのversionは2.10.4です


以下の様なクラスがあるとする

class A {
  class B{
    def bbb: String = {
       aaa + "あばばば"
    }
  }

  private def aaa = "ほげほげ"
}

Bのbbbでaaaを使わなくする

class A {
  class B{
    def bbb: String = {
       "あばばば"
    }
  }

  private def aaa = "ほげほげ"
}

メソッドの追加も削除もしていないのにmimaに怒られる!???

内部クラスから呼ばれる場合のみ、ブリッジ用の自動生成メソッドができるらしい・・・。内部クラス側から使用されなくなったことによりブリッジ用の自動生成メソッドがなくなる、ということ



バイナリ互換を完全に理解するための道は険しい・・・