summaryrefslogtreecommitdiff
path: root/test/pending/run/t5610b.scala
blob: d922d6333cb691dfd95110bd9e3e3cb5d8a9e3c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
object Bug {
  def main(args: Array[String]) {
    var test: String = null
    val result = bar(foo(test))
    test = "bar"

    if (result.str == null) {
      println("Destroy ALL THE THINGS!!!")
    } else {
      println("Stroke a kitten")
    }
  }

  class Result(_str: => String) {
    lazy val str = _str
  }

  def foo(str: => String)(i: Int) = new Result(str)

  def bar(f: Int => Result) = f(42)
}