Skip to content

Prometheus 0.12 crate fails to build with protobuf 0v2.27.1 with v2.27.1 #607

@crusty-dave

Description

@crusty-dave
rustc 1.47.0 (18bf6b4f0 2020-10-07)
cargo 1.47.0 (f3c7e066a 2020-08-28)

The work-around was to specify version = "=2.25.0", but that shouldn't have been required.

prometheus = {registry = "crates-io-mirror", version="0.12", features = ["process"]}
# fix issue with protobuf (used by prometheus)
protobuf = {registry = "crates-io-mirror", version = "=2.25.0" }

Our mirror was stale, or I probably would have hit the issue sooner. I am not sure if this would be considered a prometheus issue for using such a generic dependency (^2.0) or a protobuf issue for breaking with an existing toolchain...

The first issue with rustdoc::broken_intra_doc_links would seem to be a protobuf issue, perhaps related to building from a mirror. FYI: the mirror is based on JFrog.

error[E0710]: an unknown tool name found in scoped lint: `rustdoc::broken_intra_doc_links`
  --> /home/user/.cargo/registry/src/mirror-97e0f04ae14acc60/protobuf-2.27.1/src/lib.rs:94:9
   |
94 | #![deny(rustdoc::broken_intra_doc_links)]
   |         ^^^^^^^

error[E0658]: const generics are unstable
  --> /home/user/.cargo/registry/src/mirror-97e0f04ae14acc60/protobuf-2.27.1/src/misc.rs:35:62
   |
35 | pub(crate) unsafe fn maybe_ununit_array_assume_init<T, const N: usize>(
   |                                                              ^
   |
   = note: see issue #74878 <https://github.com/rust-lang/rust/issues/74878> for more information

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0658, E0710.
For more information about an error, try `rustc --explain E0658`.
error: could not compile `protobuf`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions