Skip to content

Baseline build is red on master: #[must_use] on trait-impl methods and elided-lifetime warnings now errors under stable rustc #70

@bibonix

Description

@bibonix

Running the documented build command on the current master (commit f4225fed) with the stable Rust toolchain (rustc 1.94.1) fails to compile, because newer rustc releases promote two patterns to warnings and the crate sets #![deny(warnings)] in src/lib.rs. Four #[must_use] attributes are placed on methods that implement trait items (no longer permitted), and Stack::iter() returns Iter<V, N> while taking &self (mismatched/elided lifetime syntaxes). The latest GitHub Actions run on master (run 18633612118, 2025-10-19) is also red for the same reason, so this is not a local-environment issue.

Build command:

cargo test --all-features

Excerpt from the failing output:

error: `#[must_use]` attribute cannot be used on trait methods in impl blocks
  --> src/clone.rs:26:5
   |
26 |     #[must_use]
   |     ^^^^^^^^^^^

error: `#[must_use]` attribute cannot be used on trait methods in impl blocks
  --> src/ctors.rs:27:5

error: `#[must_use]` attribute cannot be used on trait methods in impl blocks
  --> src/iterators.rs:28:5

error: `#[must_use]` attribute cannot be used on trait methods in impl blocks
  --> src/iterators.rs:56:5

error: hiding a lifetime that's elided elsewhere is confusing
  --> src/iterators.rs:73:23
   |
73 |     pub const fn iter(&self) -> Iter<V, N> {
   |                       ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here

error: could not compile `microstack` (lib) due to 5 previous errors
error: could not compile `microstack` (lib test) due to 5 previous errors

Until the baseline compiles cleanly again, other work on the crate (including #16) can't be verified locally or in CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions