File tree Expand file tree Collapse file tree
main/scala/singleton/ops/impl Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -726,9 +726,9 @@ trait GeneralMacros {
726726 new $opTpe {
727727 type OutWide = $outTpe
728728 type Out = $outTpe
729- final val value: $outTpe = $valueTree
729+ final lazy val value: $outTpe = $valueTree
730730 final val isLiteral = false
731- final val valueWide: $outTpe = $valueTree
731+ final lazy val valueWide: $outTpe = $valueTree
732732 }
733733 """
734734 case None =>
Original file line number Diff line number Diff line change @@ -33,6 +33,15 @@ class GetArgSpec extends Properties("GetArgSpec") {
3333 1 .extendable
3434 }
3535
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+ }
3645
3746 val one = 1
3847 val two = 2
You can’t perform that action at this time.
0 commit comments