aboutsummaryrefslogblamecommitdiff
path: root/tests/pickling/nameddefaults.scala
blob: 671f14a07386dfc7104bc9fdbc98a2a19fc1a959 (plain) (tree)






























































                                                                       
object nameddefaults {

  def foo(first: Int, second: Int = 2, third: Int = 3) = first + second
  
  var x = 1
  var y = 2

  foo(1, 2, 3)

  foo(1, 2)

  foo(1)

  // named and missing arguments
  
  foo(first = 1, second = 3)

  foo(second = 3, first = 1)

  foo(first = 2, third = 3)

  foo(2, third = 3)
  
  // same but with non-idempotent expressions

  foo(first = x, second = y)

  foo(second = x, first = y)

  foo(first = x, third = y)

  foo(x, third = y)
  
// The same thing, but for classes
  
  class C(first: Int, second: Int = 2, third: Int = 3) {}
  
  new C(1, 2, 3)

  new C(1, 2)

  new C(1)

  // named and missing arguments
  
  new C(first = 1, second = 3)

  new C(second = 3, first = 1)

  new C(first = 2, third = 3)

  new C(2, third = 3)
  
  // same but with non-idempotent expressions

  new C(first = x, second = y)

  new C(second = x, first = y)

  new C(first = x, third = y)


}