File tree Expand file tree Collapse file tree 2 files changed +11
-2
lines changed
main/scala/singleton/ops/impl Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -726,9 +726,9 @@ trait GeneralMacros {
726
726
new $opTpe {
727
727
type OutWide = $outTpe
728
728
type Out = $outTpe
729
- final val value: $outTpe = $valueTree
729
+ final lazy val value: $outTpe = $valueTree
730
730
final val isLiteral = false
731
- final val valueWide: $outTpe = $valueTree
731
+ final lazy val valueWide: $outTpe = $valueTree
732
732
}
733
733
"""
734
734
case None =>
Original file line number Diff line number Diff line change @@ -33,6 +33,15 @@ class GetArgSpec extends Properties("GetArgSpec") {
33
33
1 .extendable
34
34
}
35
35
36
+ object ByName
37
+ def byName (arg : => Any )(implicit getArg : GetArg0 ) = getArg
38
+ property(" By name argument not evaluated until value is read" ) = {
39
+ var byNameNotRead = true
40
+ val b = byName({byNameNotRead = false ; ByName })
41
+ val preRead = byNameNotRead
42
+ val forceRead = b.value // now lazily invoked
43
+ preRead && ! byNameNotRead
44
+ }
36
45
37
46
val one = 1
38
47
val two = 2
You can’t perform that action at this time.
0 commit comments