Skip to content

Conversation

@TheButlah
Copy link

Attempting to build the SDK without stable compiler features is not possible right now due to the use of #![feature(error_in_core)]. However, this feature was stabilized in rust 1.81 in September 2024.

It would be good to remove the now-unneeded unstable flag.

@ivila
Copy link
Contributor

ivila commented Dec 9, 2025

Thanks for contributing.

Our main blocker is that we’re currently tied to Rust 1.80 (see the toolchain file) because of the patched standard library we rely on (see development-modes).

Removing this constraint would break our build pipeline.

@ivila
Copy link
Contributor

ivila commented Dec 9, 2025

@DemesneGH Should we update our patched version? We’re starting to run into more issues as it ages — the current patch is from 2024-05-14.

@DemesneGH
Copy link
Contributor

@DemesneGH Should we update our patched version? We’re starting to run into more issues as it ages — the current patch is from 2024-05-14.

Sure, since I’ve been quite busy recently, I’ll make it my top priority on the todo list.

@TheButlah
Copy link
Author

TheButlah commented Dec 9, 2025

in the meantime then, ill update my PR with a path forward:

  • Ill detect the rustc version being used in the build script
  • If its too old, ill enable the nightly feature, otherwise I wont.
  • It would continue to support the older MSRV

This would unblock using stable toolchains for no-std users, without requiring yall to upgrade the repo's rust-toolchain.toml

@ivila
Copy link
Contributor

ivila commented Dec 9, 2025

in the meantime then, ill update my PR with a path forward:

  • Ill detect the rustc version being used in the build script
  • If its too old, ill enable the nightly feature, otherwise I wont.
  • It would continue to support the older MSRV

This would unblock using stable toolchains for no-std users, without requiring yall to upgrade the repo's rust-toolchain.toml

Please also add a brief comment explaining this logic, so we can remove it once we upgrade the toolchain version.

For example: https://github.com/apache/teaclave-trustzone-sdk/blob/main/optee-utee/macros/Cargo.toml#L33-L38

@ivila
Copy link
Contributor

ivila commented Dec 9, 2025

There’s also an example that uses the same logic you need — you may want to take a look at that as well.

https://github.com/chelsea0x3b/dfdx/blob/main/dfdx/build.rs#L8-L18
https://github.com/chelsea0x3b/dfdx/blob/main/dfdx/src/lib.rs#L253

@TheButlah
Copy link
Author

Closing in favor of #260

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants