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

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

🔬 This is a nightly-only experimental API. (`termination_trait_lib` #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`[src]

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

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

Loading content...

## Implementors

### `impl Termination for !`[src]

#### `fn report(self) -> i32`[src]

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

### `impl Termination for ()`[src]

#### `fn report(self) -> i32`[src]

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

### `impl Termination for ExitCode`[src]

#### `fn report(self) -> i32`[src]

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

### `impl<E: Debug> Termination for Result<!, E>`[src]

#### `fn report(self) -> i32`[src]

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

### `impl<E: Debug> Termination for Result<(), E>`[src]

#### `fn report(self) -> i32`[src]

🔬 This is a nightly-only experimental API. (`termination_trait_lib` #43301)
Loading content...