> For the complete documentation index, see [llms.txt](https://lunes-labs.gitbook.io/dao-lunes-labs-pt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lunes-labs.gitbook.io/dao-lunes-labs-pt/developers/para-desenvolvedores/smart-contract-ink-4.x/frontend-development/useink-utils/types.md).

# Types

### RustResult\<T, E>[​](https://use.ink/frontend/utils/types#rustresultt-e) <a href="#rustresultt-e" id="rustresultt-e"></a>

This type models a `Result<T, E>` message response in ink! contracts starting in v4.0.0. Prior to ink! v4.0.0 any contract that returned a `Result<T, E>` in Rust would return `T` or undefined. See [pickResultOk](https://use.ink/frontend/utils/pick#pickresultok) and [pickResultErr](https://use.ink/frontend/utils/pick#pickresultErr), which can be used with contracts that return a `Result<T, E>`.

`type RustResult<T, E> = { Ok?: T; Err?: E };`
