Trait Incrementable

Source
pub trait Incrementable: Sized + Clone {
    // Required method
    fn increment(&self) -> IncResult<Self>;
}

Required Methods§

Source

fn increment(&self) -> IncResult<Self>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Incrementable for i8

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1i8.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, i8::max_value().increment());
Source§

impl Incrementable for i16

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1i16.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, i16::max_value().increment());
Source§

impl Incrementable for i32

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1i32.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, i32::max_value().increment());
Source§

impl Incrementable for i64

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1i64.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, i64::max_value().increment());
Source§

impl Incrementable for i128

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1i128.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, i128::max_value().increment());
Source§

impl Incrementable for u8

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1u8.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, u8::max_value().increment());
Source§

impl Incrementable for u16

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1u16.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, u16::max_value().increment());
Source§

impl Incrementable for u32

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1u32.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, u32::max_value().increment());
Source§

impl Incrementable for u64

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1u64.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, u64::max_value().increment());
Source§

impl Incrementable for u128

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!(2, 1u128.increment().unwrap());
assert_eq!(IncResult::OutOfBounds, u128::max_value().increment());
Source§

impl Incrementable for String

Source§

fn increment(&self) -> IncResult<Self>

§Examples:
use increment::*;

assert_eq!("2", "1".to_string().increment().unwrap());
use increment::*;

assert_eq!("-2", "-3".to_string().increment().unwrap());
use increment::*;

assert_eq!(IncResult::OutOfBounds, u128::max_value().to_string().increment());

Implementors§