NonLocalReturns

scala.util.control.NonLocalReturns

Library implementation of nonlocal return.

Usage:

import scala.util.control.NonLocalReturns.*

returning { ... throwReturn(x) ... }

This API has been deprecated. Its functionality is better served by

  • scala.util.boundary in place of returning
  • scala.util.break in place of throwReturn

The new abstractions work with plain RuntimeExceptions and are more performant, since returns within the scope of the same method can be rewritten by the compiler to jumps.

Attributes

Deprecated
true
Source
NonLocalReturns.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Deprecated classlikes

Attributes

Deprecated
true
Source
NonLocalReturns.scala
Supertypes
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Value members

Deprecated methods

def returning[T](op: (ReturnThrowable[T]) ?=> T): T

Enable nonlocal returns in op.

Enable nonlocal returns in op.

Attributes

Deprecated
true
Source
NonLocalReturns.scala
def throwReturn[T](result: T)(using returner: ReturnThrowable[_ >: T]): Nothing

Performs a nonlocal return by throwing an exception.

Performs a nonlocal return by throwing an exception.

Attributes

Deprecated
true
Source
NonLocalReturns.scala