# Trait std::Termination [−] [src]

    #[lang = "termination"]
    pub trait Termination {
        fn report(self) -> i32;
    }

🔬 This is a nightly-only experimental API. (`termination_trait` #43301)

A trait for implementing arbitrary return types in the `main` function.

The c-main function only supports to return integers as return type. So, every type implementing the `Termination` trait has to be converted to an integer.

The default implementations are returning `libc::EXIT_SUCCESS` to indicate a successful execution. In case of a failure, `libc::EXIT_FAILURE` is returned.

## Required Methods

### `fn report(self) -> i32`

🔬 This is a nightly-only experimental API. (`termination_trait` #43301)

Is called to get the representation of the value as status code. This status code is returned to the operating system.

## Implementors

- [src]
  `impl Termination for ()`
- [src]
  `impl<T: Termination, E: Error> Termination for Result<T, E>`
- [src]
  `impl Termination for !`
- [src]
  `impl Termination for bool`
- [src]
  `impl Termination for i32`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
↑
  Move up in search results
↓
  Move down in search results
↹
  Switch tab
⏎
  Go to active search result
+ / -
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)