Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve TODO and implement TryFrom<Bytes> for b256 #6958

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

bitzoic
Copy link
Member

@bitzoic bitzoic commented Feb 25, 2025

NOTE: Do not merge until the next breaking release

Description

impl From<Bytes> for b256 has been removed and replaced with impl TryFrom<Bytes> for b256 increasing saftey when converting between the two types. impl Into<Bytes> for b256 and impl TryInto<b256> for Bytes have also been added.

This PR breaks the following implementation:

let mut my_bytes = Bytes::new();
my_bytes.push(1u8);

let result: b256 = b256::from(my_bytes);

The implementation should now be:

let mut my_bytes = Bytes::new();
my_bytes.push(1u8);

// Option 1
let result_1: Option<b256> = b256::try_from(my_bytes);
// Option 2
let result_2 = my_bytes.try_into();

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).
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
  • I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
  • I have requested a review from the relevant team or maintainers.

@bitzoic bitzoic added lib: std Standard library breaking May cause existing user code to break. Requires a minor or major release. labels Feb 25, 2025
@bitzoic bitzoic self-assigned this Feb 25, 2025
@bitzoic bitzoic requested review from a team as code owners February 25, 2025 14:32
@SwayStar123
Copy link
Collaborator

No tests for the new into?

@bitzoic
Copy link
Member Author

bitzoic commented Feb 25, 2025

No tests for the new into?

They already exist and we're automatically generated here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking May cause existing user code to break. Requires a minor or major release. lib: std Standard library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants