Skip to main content
Log in

Mojo trait

IntableRaising

The IntableRaising trait describes a type can be converted to an Int, but the conversion might raise an error.

Any type that conforms to Intable or IntableRaising can construct an Int.

This trait requires the type to implement the __int__() method, which can raise an error. For example:

@value
struct Foo(IntableRaising):
var i: Int

fn __int__(self) raises -> Int:
return self.i
@value
struct Foo(IntableRaising):
var i: Int

fn __int__(self) raises -> Int:
return self.i

Now you can construct an Int:

foo = Foo(42)
assert_equal(Int(foo), 42)
foo = Foo(42)
assert_equal(Int(foo), 42)

Implemented traits

AnyType, UnknownDestructibility

Methods

__int__

__int__(self: _Self) -> Int

Get the integral representation of the value.

Returns:

The integral representation of the type.

Raises:

If the type does not have an integral representation.