improve maitake timer wheel #1329
ci.yml
on: pull_request
changed_paths
8s
cargo check (host)
1m 58s
rustfmt
19s
clippy
2m 3s
cargo test (host)
4m 55s
build boot image (x86_64)
1m 31s
cargo test (cross x64)
1m 59s
docs
2m 11s
Loom tests (cordyceps)
1m 36s
Miri tests (codyceps)
2m 11s
Tests (maitake, no-default-features)
1m 44s
Loom tests (maitake)
4m 17s
Loom tests (mycelium-util)
1m 13s
Annotations
20 errors and 29 warnings
build boot image (x86_64)
Process completed with exit code 101.
|
Tests (maitake, no-default-features)
Process completed with exit code 101.
|
cargo check (host):
src/rt.rs#L55
error[E0308]: mismatched types
--> src/rt.rs:55:50
|
55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL);
| ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration`
| |
| arguments to this function are incorrect
|
= note: expected reference `&(dyn Clock + 'static)`
found struct `Duration`
note: associated function defined here
--> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16
|
298 | pub fn new(clock: &'clock dyn Clock) -> Self {
| ^^^
|
cargo check (host):
src/rt.rs#L55
error[E0308]: mismatched types
--> src/rt.rs:55:50
|
55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL);
| ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration`
| |
| arguments to this function are incorrect
|
= note: expected reference `&(dyn Clock + 'static)`
found struct `Duration`
note: associated function defined here
--> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16
|
298 | pub fn new(clock: &'clock dyn Clock) -> Self {
| ^^^
|
cargo check (host)
Process completed with exit code 1.
|
cargo test (cross x64)
Process completed with exit code 101.
|
clippy:
src/rt.rs#L55
error[E0308]: mismatched types
--> src/rt.rs:55:50
|
55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL);
| ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration`
| |
| arguments to this function are incorrect
|
= note: expected reference `&(dyn maitake::time::Clock + 'static)`
found struct `std::time::Duration`
note: associated function defined here
--> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16
|
298 | pub fn new(clock: &'clock dyn Clock) -> Self {
| ^^^
|
clippy:
src/rt.rs#L55
error[E0308]: mismatched types
--> src/rt.rs:55:50
|
55 | pub static TIMER: time::Timer = time::Timer::new(arch::interrupt::TIMER_INTERVAL);
| ---------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&dyn Clock`, found `Duration`
| |
| arguments to this function are incorrect
|
= note: expected reference `&(dyn maitake::time::Clock + 'static)`
found struct `std::time::Duration`
note: associated function defined here
--> /home/runner/work/mycelium/mycelium/maitake/src/time/timer.rs:298:16
|
298 | pub fn new(clock: &'clock dyn Clock) -> Self {
| ^^^
|
clippy
Process completed with exit code 1.
|
docs:
maitake/src/time/clock.rs#L39
error: missing documentation for a method
--> maitake/src/time/clock.rs:39:5
|
39 | fn tick_duration(&self) -> Duration;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `-D missing-docs` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(missing_docs)]`
|
docs:
maitake/src/time/clock.rs#L42
error: missing documentation for a method
--> maitake/src/time/clock.rs:42:5
|
42 | fn now(&self) -> Instant {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
docs:
maitake/src/time/clock.rs#L48
error: missing documentation for a method
--> maitake/src/time/clock.rs:48:5
|
48 | 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/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`
|
docs:
maitake/src/time/timer.rs#L99
error: unresolved link to `Timer::force_advance_ticks`
--> maitake/src/time/timer.rs:99:7
|
99 | /// [`Timer::force_advance_ticks`] method periodically outside of the interrupt
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `force_advance_ticks`
|
docs:
maitake/src/time/timer.rs#L115
error: unresolved link to `Timer::advance_ticks`
--> maitake/src/time/timer.rs:115:7
|
115 | /// [`Timer::advance_ticks`]`(1)` or [`Timer::pend_ticks`]`(1)` in the interrupt
| ^^^^^^^^^^^^^^^^^^^^ the struct `Timer` has no field or associated item named `advance_ticks`
|
cargo test (host)
Process completed with exit code 101.
|
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 (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/.
|
cargo check (host):
maitake/src/time/clock.rs#L161
warning: unused variable: `earlier`
--> maitake/src/time/clock.rs:161:42
|
161 | 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#L177
warning: unused variable: `duration`
--> maitake/src/time/clock.rs:177:31
|
177 | 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#L186
warning: unused variable: `duration`
--> maitake/src/time/clock.rs:186:31
|
186 | 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#L39
warning: missing documentation for a method
--> maitake/src/time/clock.rs:39:5
|
39 | fn tick_duration(&self) -> Duration;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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#L42
warning: missing documentation for a method
--> maitake/src/time/clock.rs:42:5
|
42 | fn now(&self) -> Instant {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
cargo check (host):
maitake/src/time/clock.rs#L48
warning: missing documentation for a method
--> maitake/src/time/clock.rs:48:5
|
48 | 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 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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#L161
warning: unused variable: `earlier`
--> maitake/src/time/clock.rs:161:42
|
161 | 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#L177
warning: unused variable: `duration`
--> maitake/src/time/clock.rs:177:31
|
177 | 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#L186
warning: unused variable: `duration`
--> maitake/src/time/clock.rs:186:31
|
186 | 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#L94
warning: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`
--> maitake/src/time/clock.rs:94:1
|
94 | / pub(in crate::time) fn dur_to_ticks(
95 | | tick_duration: Duration,
96 | | dur: Duration,
97 | | ) -> 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#L39
warning: missing documentation for a method
--> maitake/src/time/clock.rs:39:5
|
39 | fn tick_duration(&self) -> Duration;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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#L42
warning: missing documentation for a method
--> maitake/src/time/clock.rs:42:5
|
42 | fn now(&self) -> Instant {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
clippy:
maitake/src/time/clock.rs#L48
warning: missing documentation for a method
--> maitake/src/time/clock.rs:48:5
|
48 | 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 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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#L161
warning: unused variable: `earlier`
--> maitake/src/time/clock.rs:161:42
|
161 | 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#L177
warning: unused variable: `duration`
--> maitake/src/time/clock.rs:177:31
|
177 | 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#L186
warning: unused variable: `duration`
--> maitake/src/time/clock.rs:186:31
|
186 | 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#L39
warning: missing documentation for a method
--> maitake/src/time/clock.rs:39:5
|
39 | fn tick_duration(&self) -> Duration;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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#L42
warning: missing documentation for a method
--> maitake/src/time/clock.rs:42:5
|
42 | fn now(&self) -> Instant {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
docs:
maitake/src/time/clock.rs#L48
warning: missing documentation for a method
--> maitake/src/time/clock.rs:48:5
|
48 | 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 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
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/.
|
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/.
|