File: sammy_scope.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (8 lines) | stat: -rw-r--r-- 366 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
// test synthesizeSAMFunction: scope hygiene
abstract class SamFun[T1, R] { self =>
  def apply(v1: T1): R

  // this should type check, as the apply ref is equivalent to self.apply
  // it shouldn't resolve to the sam's apply that's synthesized (that wouldn't type check, hence the pos test)
  def compose[A](g: SamFun[A, T1]): SamFun[A, R] = { x => apply(g(x)) }
}