return statement

Syntax
ReturnStatement :
   return Expression?

The return statement is denoted with the keyword return. A return statement leaves the current function call with a return value which is either the value of the evaluated expression (if present) or () (unit type) if return is not followed by an expression explicitly.

An example of a return statement without explicit use of an expression:

contract Foo:
    fn transfer(self, to: address, value: u256):
        if not self.in_whitelist(to):
            return

    fn in_whitelist(self, to: address) -> bool:
        # revert used as placeholder for actual logic
        revert

The above can also be written in a slightly more verbose form:

contract Foo:
    fn transfer(self, to: address, value: u256) -> ():
        if not self.in_whitelist(to):
            return ()

    fn in_whitelist(self, to: address) -> bool:
        # revert used as placeholder for actual logic
        revert