[Scala 2.12.8]パターンマッチに@を使ってバインドしたらwarningがでた

こんなコードを書いたら


こんなwarningが出た。

Warning:(36, 14) The value matched by this.FooB is bound to b, which may be used under the
unsound assumption that it has type FooB.type, whereas we can only safely
count on it having type Foo, as the pattern is matched using `==` (see scala/bug#1503).
case b @ FooB => println(b)

どうやらこう書くのが正しいらしい。

f match {
  case FooA => println("A")
  case b: FooB.type => println(b)
}

詳しくはこちら。

https://github.com/scala/bug/issues/10960

読み込んでないので、詳細は割愛。