# Case 1: parameter type changed
$ copy-file changes/A0.scala A.scala
> compile
$ copy-file changes/A1.scala A.scala
# Compilation of B.scala should fail because the signature of f changed
-> compile

# Case 2: return type changed
$ copy-file changes/A0.scala A.scala
> compile
$ copy-file changes/A2.scala A.scala
# Compilation of B.scala should fail because the signature of f changed
-> compile

# Case 3: type parameter bounds changed
$ copy-file changes/A0.scala A.scala
> compile
$ copy-file changes/A3.scala A.scala
# Compilation of B.scala should fail because the signature of f changed
-> compile
