rust: Update dependencies, build and test more on stable#18678
rust: Update dependencies, build and test more on stable#18678chrysn merged 4 commits intoRIOT-OS:masterfrom
Conversation
This pulls in versions of previously nightly-only crates that can be built on 1.65 beta. The Cargo overrides that direct the resolver to the git repositories are disabled while the version used in tree also happens to be a released version of the crates, as it should be the case as per [251]. [251]: RIOT-OS/Release-Specs#251
|
I've added one more commit that sets -Os and -lto on Rust code, which gets the code size from 87KiB to 57KiB on the rust-gcoap example. This hopefully counteracts other effects I couldn't pinpoint yet that let the binary size grow to the point where it exceeded some boards' capacities. [edit: Numbers are on microbit-v2. Before this PR, Rust code size was 46KiB, so chances are I'll still need to investigate why things grew that dramatically] |
|
The size increases is due to coap-message-demo's newly gained CBOR serialization and deserialization default handlers (two new demo resources); the rest of the changes did not significantly impact the sizes. Just flicking on some optimizations allowed leaving the list of supported boards as-is. At some point we'll have to reconsider which examples we can pack in, and/or whether there are demos that are shed under flash pressure, but right now, they still fit. Unless reviewers disagree, I wouldn't try to remove features from coap-handler-demos (it's not possible right now, but then again I'm maintaining that), and leave the optimization flags in (as they do make a good example case). |
Contribution description
This is a bit more than the usual "bump dependencies", as it also reaps the benefits from the latest crate updates:
cargo updatethat is necessary to apply the updates into the Cargo.lock files anyway.This could have been done before, but was not, because users often build on a simple example when exploring advanced things, and there might have been frustration when the advanced things don't work there. Given that barely any riot-wrappers features require nightly any more, this is fine now.
Testing procedure
Issue references
By running tests on stable this closes #18500