Closed mammothbane closed 6 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
f0cb09c
) 98.25% compared to head (c2cfc0b
) 98.22%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Aaah, thanks for reasoning through this. Now I finally get what the concern is, and how I missed all that. The change looks great, and I'll get it merged when CI passes.
There's one open question for me (and consider this optional for this PR, please!) - is there a way to verify that a repo can be considered no_std
compatible? If so, we should probably add a CI job for that.
Another exciting development, it sounds like portable-atomic
has a critical-section
feature which might allow enabling AtomicU64
on platforms that don't support it, using a suitable critical-section implementation. This might be useful for #89!
Another exciting development, it sounds like
portable-atomic
has acritical-section
feature which might allow enablingAtomicU64
on platforms that don't support it, using a suitable critical-section implementation. This might be useful for #89!
Yes -- it works! Using it in my projects
Fix
#![no_std]
support.parking_lot
inno_std
-- it never worked -- and switch tospinning_top
instead. Ideally this would make use oflock_api
directly, but I don't have time to chase the type signature changes through the tests at the moment.portable_atomic
.I'd also recommend adding a
cargo check --target thumbv7em-none-eabi
(or similarno_std
target) to the CI pipeline in the future, as the tests don't coverno_std
for dependencies (see below).notes
29 (which introduced this change) looks like it was generated by shotgunning dependency analysis tools without reading or understanding the implications (notably, it was during GitHub's Hacktoberfest event, which is notorious for this).
parking_lot
does not work, and to my knowledge never has worked, inno_std
environments:#![no_std]
declaration inparking_lot
https://github.com/Amanieu/parking_lot/blob/master/src/lib.rs#L11-L14#![no_std]
declaration inparking_lot_core
https://github.com/Amanieu/parking_lot/blob/master/core/src/lib.rs#L39-L54spin
withparking_lot
, but withlock_api
(a part of theparking_lot
project):ci / testing
I notice that someone reported this issue in #96 and it was closed because CI is passing. However, rust's
libtest
transitively includeslibstd
, i.e.cargo test
can't be run without includingstd
.governor
may be built for test withoutstd
, but its dependencies are not.