trait ThunkHolder

Create and hold thunks. A thunk is a (potentially) unevaluated value that may be evaluated once.

Constructors

Members

private val thunks : ListBuffer [ Lazy [ Nothing <: Any ] ]
@tailrec protected final def forceThunks ( ) : Unit

Force all unevaluated thunks to prevent space leaks.

Force all unevaluated thunks to prevent space leaks.

def lzy ( t: => T ) : Lazy [ T ]

Store the by-name parameter s in a Lazy container without evaluating it. It will be forced by the next call to forceThunks()

Store the by-name parameter s in a Lazy container without evaluating it. It will be forced by the next call to forceThunks()

[+] def strict2lzy ( t: T ) : Lazy [ T ]

Store the parameter s in a Lazy container, since s is not by-name, there is nothing to force.

TODO: Get rid of this method. It is only needed because so... https://github.com/sbt/zinc/issues/114

Store the parameter s in a Lazy container, since s is not by-name, there is nothing to force.

TODO: Get rid of this method. It is only needed because some xsbti.api classes take lazy arguments when they could be strict, but this can be fixed in sbt, see https://github.com/sbt/zinc/issues/114