Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Example of `lazy val` inside `implicit class`
// `lazy val` inside `implicit class`
implicit class RichStream[T](s: Stream[T]) {
lazy val circular: Stream[T] =
s #::: circular
// in order to make this work with `extends AnyVal`, you have to make the
// lazy val local, as follows:
implicit class RichStream[T](private val s: Stream[T]) extends AnyVal {
def circular: Stream[T] = {
lazy val result: Stream[T] = s #::: result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment