Ownership (Data-Type Effect)

Description

Feature Status

Feature categorization

PositionSyntax
Effect
Yield
Apply
Consume
Reification

Positions Available

PositionAvailableExample
Manual trait implimpl Future for Cat {}
Free functionsasync fn meow() {}
Inherent functionsimpl Cat { async fn meow() {} }
Trait methodstrait Cat { async fn meow() {} }
Trait declarationsasync trait Cat {}
Block scopefn meow() { async {} }
Argument qualifiersfn meow(cat: impl async Cat) {}
Data types †async struct Cat {}
Drop †impl async Drop for Cat {}
Closuresasync ǀǀ {}
Iteratorsfor await cat in cats {}

Refinements

ModifierDescription

Interactions with other effects

Asynchrony

Compile-time Execution

Fallibility

Iteration

Unwinding

Memory-Safety

Immovability

Object-Safety

Ownership

Thread-Safety

References