Skip to content

API breakage in v3.1.0 #48

@pgerber

Description

@pgerber

I suspect v3.1.0 includes API-breaking changes. I've been seeing build error ever since updating to v3.1.0. Downgrading to v3.0.1 resolves the issue.

error[E0308]: `?` operator has incompatible types
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:145:31
    |
145 |                           path: PointerBuf::from_str(finalizer_path.as_str())
    |  _______________________________^
146 | |                             .map_err(|_err| Error::InvalidFinalizer)?,
    | |_____________________________________________________________________^ expected `json_patch::jsonptr::PointerBuf`, found `jsonptr::PointerBuf`
    |
    = note: `?` operator cannot convert from `jsonptr::PointerBuf` to `json_patch::jsonptr::PointerBuf`
note: two different versions of crate `jsonptr` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.6.3/src/pointer.rs:801:1
    |
801 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the found type `jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.7.1/src/pointer.rs:899:1
    |
899 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the expected type `json_patch::jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/controller/mod.rs:21:5
    |
21  | use kube_client::api::{Api, DynamicObject, Resource};
    |     ----------- one version of crate `jsonptr` used here, as a dependency of crate `json_patch`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:5:5
    |
5   | use jsonptr::PointerBuf;
    |     ------- one version of crate `jsonptr` used here, as a direct dependency of the current crate
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: `?` operator has incompatible types
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:150:31
    |
150 |                           path: PointerBuf::from_str(finalizer_path.as_str())
    |  _______________________________^
151 | |                             .map_err(|_err| Error::InvalidFinalizer)?,
    | |_____________________________________________________________________^ expected `json_patch::jsonptr::PointerBuf`, found `jsonptr::PointerBuf`
    |
    = note: `?` operator cannot convert from `jsonptr::PointerBuf` to `json_patch::jsonptr::PointerBuf`
note: two different versions of crate `jsonptr` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.6.3/src/pointer.rs:801:1
    |
801 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the found type `jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.7.1/src/pointer.rs:899:1
    |
899 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the expected type `json_patch::jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/controller/mod.rs:21:5
    |
21  | use kube_client::api::{Api, DynamicObject, Resource};
    |     ----------- one version of crate `jsonptr` used here, as a dependency of crate `json_patch`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:5:5
    |
5   | use jsonptr::PointerBuf;
    |     ------- one version of crate `jsonptr` used here, as a direct dependency of the current crate
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: `?` operator has incompatible types
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:167:31
    |
167 |                           path: PointerBuf::from_str("/metadata/finalizers")
    |  _______________________________^
168 | |                             .map_err(|_err| Error::InvalidFinalizer)?,
    | |_____________________________________________________________________^ expected `json_patch::jsonptr::PointerBuf`, found `jsonptr::PointerBuf`
    |
    = note: `?` operator cannot convert from `jsonptr::PointerBuf` to `json_patch::jsonptr::PointerBuf`
note: two different versions of crate `jsonptr` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.6.3/src/pointer.rs:801:1
    |
801 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the found type `jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.7.1/src/pointer.rs:899:1
    |
899 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the expected type `json_patch::jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/controller/mod.rs:21:5
    |
21  | use kube_client::api::{Api, DynamicObject, Resource};
    |     ----------- one version of crate `jsonptr` used here, as a dependency of crate `json_patch`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:5:5
    |
5   | use jsonptr::PointerBuf;
    |     ------- one version of crate `jsonptr` used here, as a direct dependency of the current crate
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: `?` operator has incompatible types
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:172:31
    |
172 |                           path: PointerBuf::from_str("/metadata/finalizers")
    |  _______________________________^
173 | |                             .map_err(|_err| Error::InvalidFinalizer)?,
    | |_____________________________________________________________________^ expected `json_patch::jsonptr::PointerBuf`, found `jsonptr::PointerBuf`
    |
    = note: `?` operator cannot convert from `jsonptr::PointerBuf` to `json_patch::jsonptr::PointerBuf`
note: two different versions of crate `jsonptr` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.6.3/src/pointer.rs:801:1
    |
801 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the found type `jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.7.1/src/pointer.rs:899:1
    |
899 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the expected type `json_patch::jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/controller/mod.rs:21:5
    |
21  | use kube_client::api::{Api, DynamicObject, Resource};
    |     ----------- one version of crate `jsonptr` used here, as a dependency of crate `json_patch`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:5:5
    |
5   | use jsonptr::PointerBuf;
    |     ------- one version of crate `jsonptr` used here, as a direct dependency of the current crate
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: `?` operator has incompatible types
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:183:31
    |
183 |                           path: PointerBuf::from_str("/metadata/finalizers")
    |  _______________________________^
184 | |                             .map_err(|_err| Error::InvalidFinalizer)?,
    | |_____________________________________________________________________^ expected `json_patch::jsonptr::PointerBuf`, found `jsonptr::PointerBuf`
    |
    = note: `?` operator cannot convert from `jsonptr::PointerBuf` to `json_patch::jsonptr::PointerBuf`
note: two different versions of crate `jsonptr` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.6.3/src/pointer.rs:801:1
    |
801 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the found type `jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.7.1/src/pointer.rs:899:1
    |
899 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the expected type `json_patch::jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/controller/mod.rs:21:5
    |
21  | use kube_client::api::{Api, DynamicObject, Resource};
    |     ----------- one version of crate `jsonptr` used here, as a dependency of crate `json_patch`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:5:5
    |
5   | use jsonptr::PointerBuf;
    |     ------- one version of crate `jsonptr` used here, as a direct dependency of the current crate
    = help: you can use `cargo tree` to explore your dependency tree

error[E0308]: `?` operator has incompatible types
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:188:31
    |
188 |                           path: PointerBuf::from_str("/metadata/finalizers/-")
    |  _______________________________^
189 | |                             .map_err(|_err| Error::InvalidFinalizer)?,
    | |_____________________________________________________________________^ expected `json_patch::jsonptr::PointerBuf`, found `jsonptr::PointerBuf`
    |
    = note: `?` operator cannot convert from `jsonptr::PointerBuf` to `json_patch::jsonptr::PointerBuf`
note: two different versions of crate `jsonptr` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.6.3/src/pointer.rs:801:1
    |
801 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the found type `jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/jsonptr-0.7.1/src/pointer.rs:899:1
    |
899 | pub struct PointerBuf(String);
    | ^^^^^^^^^^^^^^^^^^^^^ this is the expected type `json_patch::jsonptr::PointerBuf`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/controller/mod.rs:21:5
    |
21  | use kube_client::api::{Api, DynamicObject, Resource};
    |     ----------- one version of crate `jsonptr` used here, as a dependency of crate `json_patch`
    |
   ::: /home/user/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/kube-runtime-0.98.0/src/finalizer.rs:5:5
    |
5   | use jsonptr::PointerBuf;
    |     ------- one version of crate `jsonptr` used here, as a direct dependency of the current crate
    = help: you can use `cargo tree` to explore your dependency tree

For more information about this error, try `rustc --explain E0308`.
error: could not compile `kube-runtime` (lib) due to 6 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `tco v1.2.21 (/home/user/src/tco)`, intermediate artifacts can be found at `/home/user/.cache/cargo-rust-cache/nightly-x86_64-unknown-linux-gnu/target`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

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