Skip to content

improve maitake timer wheel #1331

improve maitake timer wheel

improve maitake timer wheel #1331

Triggered via pull request January 30, 2024 21:49
@hawkwhawkw
synchronize #475
eliza/clocky
Status Failure
Total duration 5m 9s
Artifacts

ci.yml

on: pull_request
changed_paths
9s
changed_paths
cargo check (host)
3m 34s
cargo check (host)
rustfmt
14s
rustfmt
clippy
2m 54s
clippy
cargo test (host)
4m 42s
cargo test (host)
build boot image (x86_64)
3m 15s
build boot image (x86_64)
cargo test (cross x64)
4m 40s
cargo test (cross x64)
docs
2m 11s
docs
Loom tests (cordyceps)
1m 39s
Loom tests (cordyceps)
Miri tests (codyceps)
1m 56s
Miri tests (codyceps)
Tests (maitake, no-default-features)
1m 42s
Tests (maitake, no-default-features)
Loom tests (maitake)
1m 32s
Loom tests (maitake)
Loom tests (mycelium-util)
59s
Loom tests (mycelium-util)
Fit to window
Zoom out
Zoom in

Annotations

12 errors and 45 warnings
Loom tests (maitake)
Process completed with exit code 100.
Tests (maitake, no-default-features)
Process completed with exit code 101.
docs: maitake/src/time/clock.rs#L94
error: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D missing-docs` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(missing_docs)]`
docs: maitake/src/time/clock.rs#L104
error: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L109
error: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L115
error: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/timer.rs#L307
error: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L56
error: public documentation for `Clock` links to private item `Ticks` --> maitake/src/time/clock.rs:56:20 | 56 | /// timestamp in [`Ticks`], and a [`Duration`] that defines the amount of time | ^^^^^ this item is private | = note: this link will resolve properly if you pass `--document-private-items` = note: `-D rustdoc::private-intra-doc-links` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(rustdoc::private_intra_doc_links)]`
docs: maitake/src/time/timer.rs#L65
error: unresolved link to `Timer::advance` --> maitake/src/time/timer.rs:65:58 | 65 | /// must be driven by a *time source*, which calls the [`Timer::advance`] method | ^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance` | = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(rustdoc::broken_intra_doc_links)]`
docs: maitake/src/time/timer.rs#L66
error: unresolved link to `Timer::force_advance` --> maitake/src/time/timer.rs:66:47 | 66 | /// and/or the [`Timer::pend_duration`] and [`Timer::force_advance`] methods. | ^^^^^^^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `force_advance`
docs: maitake/src/time/timer.rs#L86
error: unresolved link to `Timer::advance` --> maitake/src/time/timer.rs:86:7 | 86 | /// [`Timer::advance`] methods. | ^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance`
docs: maitake/src/time/timer.rs#L88
error: unresolved link to `Timer::advance` --> maitake/src/time/timer.rs:88:7 | 88 | /// [`Timer::advance`] will attempt to optimistically acquire a spinlock, and | ^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance`
Loom tests (mycelium-util)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Loom tests (maitake)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Loom tests (cordyceps)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Miri tests (codyceps)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
docs
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
docs: maitake/src/time/clock.rs#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
docs: maitake/src/time/clock.rs#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
docs: maitake/src/time/clock.rs#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
docs: maitake/src/time/clock.rs#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
docs: maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
clippy: maitake/src/time/clock.rs#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
clippy: maitake/src/time/clock.rs#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
clippy: maitake/src/time/clock.rs#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
clippy: maitake/src/time/clock.rs#L132
warning: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]` --> maitake/src/time/clock.rs:132:1 | 132 | / pub(in crate::time) fn dur_to_ticks( 133 | | tick_duration: Duration, 134 | | dur: Duration, 135 | | ) -> Result<Ticks, TimerError> { | |______________________________^ | = help: either add some descriptive text or remove the attribute = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use = note: `#[warn(clippy::double_must_use)]` on by default
clippy: maitake/src/time/clock.rs#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
clippy: src/rt.rs#L10
warning: unused import: `time` --> src/rt.rs:10:5 | 10 | time, | ^^^^ | = note: `#[warn(unused_imports)]` on by default
cargo check (host): maitake/src/time/clock.rs#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
cargo check (host): maitake/src/time/clock.rs#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
cargo check (host): maitake/src/time/clock.rs#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
cargo check (host): maitake/src/time/clock.rs#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): src/rt.rs#L10
warning: unused import: `time` --> src/rt.rs:10:5 | 10 | time, | ^^^^ | = note: `#[warn(unused_imports)]` on by default
cargo check (host): src/lib.rs#L169
warning: unreachable statement --> src/lib.rs:169:5 | 168 | loop {} | ------- any code following this expression is unreachable 169 | rt::spawn(keyboard_demo()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement | = note: `#[warn(unreachable_code)]` on by default
cargo check (host): trace/src/embedded_graphics.rs#L132
warning: unused variable: `actual_point` --> trace/src/embedded_graphics.rs:132:17 | 132 | Err(actual_point) => unsafe { | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_point` | = note: `#[warn(unused_variables)]` on by default
cargo check (host): maitake/src/time/clock.rs#L199
warning: unused variable: `earlier` --> maitake/src/time/clock.rs:199:42 | 199 | pub fn checked_duration_since(&self, earlier: Instant) -> Option<Duration> { | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_earlier` | = note: `#[warn(unused_variables)]` on by default
cargo check (host): maitake/src/time/clock.rs#L215
warning: unused variable: `duration` --> maitake/src/time/clock.rs:215:31 | 215 | pub fn checked_add(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
cargo check (host): maitake/src/time/clock.rs#L224
warning: unused variable: `duration` --> maitake/src/time/clock.rs:224:31 | 224 | pub fn checked_sub(&self, duration: Duration) -> Option<Instant> { | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
cargo check (host): maitake/src/time/clock.rs#L94
warning: missing documentation for an associated function --> maitake/src/time/clock.rs:94:5 | 94 | pub const fn new(now: fn() -> Ticks, tick_duration: Duration) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the lint level is defined here --> maitake/src/time.rs:45:9 | 45 | #![warn(missing_docs, missing_debug_implementations)] | ^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L104
warning: missing documentation for a method --> maitake/src/time/clock.rs:104:5 | 104 | pub fn tick_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L109
warning: missing documentation for a method --> maitake/src/time/clock.rs:109:5 | 109 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/clock.rs#L115
warning: missing documentation for a method --> maitake/src/time/clock.rs:115:5 | 115 | pub fn max_duration(&self) -> Duration { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): maitake/src/time/timer.rs#L307
warning: missing documentation for a method --> maitake/src/time/timer.rs:307:5 | 307 | pub fn now(&self) -> Instant { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cargo check (host): src/rt.rs#L10
warning: unused import: `time` --> src/rt.rs:10:5 | 10 | time, | ^^^^ | = note: `#[warn(unused_imports)]` on by default
cargo test (host)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: extractions/setup-just@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.