---
name: "CPS::Future"
section: "3pm"
platform: "linux"
package: "libcps-perl"
version: "0.18-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/CPS::Future"
---

# CPS::Future(3pm)

compatibility wrapper around Future

## NAME

"CPS::Future" - compatibility wrapper around Future

## DESCRIPTION

This module provides a compatibility wrapper around Future. The code it used to contain was renamed to move it out of the `"CPS"` distribution. Existing code that refers to `"CPS::Future"` should be changed to use `"Future"` instead.

### $future-\>( @result )

This subclass overloads the calling operator, so simply invoking the future object itself as if it were a `"CODE"` reference is equivalent to calling the `"done"` method. This makes it simple to pass as a callback function to other code.

It turns out however, that this behaviour is too subtle and can lead to bugs when futures are accidentally used as plain `"CODE"` references. See the `"done_cb"` method instead. This overload behaviour will be removed in a later version.
