Skip to content

Commit

Permalink
Extend primitive conversions and implement TryFrom trait for intege…
Browse files Browse the repository at this point in the history
…r values (#5127)

## Description

There have been a number of requests to convert between integer values.
This is especially important in some of the recently introduced
standards and changes made in the storage optimizations.

This PR extends the primitive conversions to extend values and also
implements the `TryFrom` trait for `u64`, `u32`, `u16`, and `u8`.

Note: The `TryFrom` implementations are not included in the prelude and
must be imported. The primitive conversions do not need to be imported
as they are included in the core.

## Checklist

- [ ] I have linked to any relevant issues.
- [ ] I have commented my code, particularly in hard-to-understand
areas.
- [ ] I have updated the documentation where relevant (API docs, the
reference, and the Sway book).
- [x] I have added tests that prove my fix is effective or that my
feature works.
- [x] I have added (or requested a maintainer to add) the necessary
`Breaking*` or `New Feature` labels where relevant.
- [x] I have done my best to ensure that my PR adheres to [the Fuel Labs
Code Review
Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md).
- [x] I have requested a review from the relevant team or maintainers.

---------

Co-authored-by: bitzoic <[email protected]>
Co-authored-by: SwayStar123 <[email protected]>
  • Loading branch information
3 people authored Sep 23, 2023
1 parent ea3d25a commit ff5ce9d
Show file tree
Hide file tree
Showing 13 changed files with 818 additions and 109 deletions.
1 change: 1 addition & 0 deletions sway-lib-core/src/prelude.sw
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ library;
//! The prelude consists of implicitly available items,
//! for which `use` is not required.
use ::primitives::*;
use ::primitive_conversions::*;
use ::raw_ptr::*;
use ::raw_slice::*;
use ::never::*;
Expand Down
Loading

0 comments on commit ff5ce9d

Please sign in to comment.