Skip to content

Instantly share code, notes, and snippets.

@brennancheung
Created February 18, 2020 04:43
Show Gist options
  • Save brennancheung/f4507101d19b2b633a9924c315c26637 to your computer and use it in GitHub Desktop.
Save brennancheung/f4507101d19b2b633a9924c315c26637 to your computer and use it in GitHub Desktop.
$ cargo run
Compiling k8s-controller v0.1.0 (/Users/brennan/code/rust/k8s-controller)
warning: unused import: `tokio::prelude::*`
--> src/main.rs:3:5
|
3 | use tokio::prelude::*;
| ^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
error[E0277]: the trait bound `std::future::GenFuture<[static generator@DefId(47:115 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, 2:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15> {std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'r std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'s _, &'t0 _, &'t1 _, &'t2 _, &'t3 _, kube::api::metadata::ObjectMeta, &'t4 kube::api::metadata::ObjectMeta, std::option::Option<std::string::String>, &'t5 std::option::Option<std::string::String>, &'t6 std::string::String, &'t7 std::string::String, &'t8 std::string::String, std::string::String, &'t9 futures_util::lock::mutex::Mutex<std::string::String>, std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, futures_util::lock::mutex::MutexLockFuture<'t10, std::string::String>, futures_util::lock::mutex::MutexLockFuture<'t11, std::string::String>, (), &'t12 kube::ErrorResponse, bool, bool, bool, &'t13 futures_util::lock::mutex::Mutex<bool>, std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, futures_util::lock::mutex::MutexLockFuture<'t14, bool>, futures_util::lock::mutex::MutexLockFuture<'t15, bool>, ()}]>: std::marker::Unpin` is not satisfied in `impl core::future::future::Future`
--> src/main.rs:35:48
|
35 | while let Some(event) = browserapps_stream.next().await {
| ^^^^ within `impl core::future::future::Future`, the trait `std::marker::Unpin` is not implemented for `std::future::GenFuture<[static generator@DefId(47:115 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, 2:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15> {std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'r std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'s _, &'t0 _, &'t1 _, &'t2 _, &'t3 _, kube::api::metadata::ObjectMeta, &'t4 kube::api::metadata::ObjectMeta, std::option::Option<std::string::String>, &'t5 std::option::Option<std::string::String>, &'t6 std::string::String, &'t7 std::string::String, &'t8 std::string::String, std::string::String, &'t9 futures_util::lock::mutex::Mutex<std::string::String>, std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, futures_util::lock::mutex::MutexLockFuture<'t10, std::string::String>, futures_util::lock::mutex::MutexLockFuture<'t11, std::string::String>, (), &'t12 kube::ErrorResponse, bool, bool, bool, &'t13 futures_util::lock::mutex::Mutex<bool>, std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, futures_util::lock::mutex::MutexLockFuture<'t14, bool>, futures_util::lock::mutex::MutexLockFuture<'t15, bool>, ()}]>`
|
= help: the following implementations were found:
<std::future::GenFuture<T> as std::marker::Unpin>
= note: required because it appears within the type `impl core::future::future::Future`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::then::Then<impl futures_core::stream::Stream, impl core::future::future::Future, [closure@DefId(47:114 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>]>`
= note: required because it appears within the type `impl futures_core::stream::Stream`
error[E0277]: the trait bound `std::future::GenFuture<[static generator@DefId(47:406 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:reqwest::async_impl::response::Response, 1:std::vec::Vec<u8> for<'r, 's, 't0> {&'r mut reqwest::async_impl::response::Response, reqwest::async_impl::response::Response, impl core::future::future::Future, impl core::future::future::Future, ()}]>: std::marker::Unpin` is not satisfied in `impl core::future::future::Future`
--> src/main.rs:35:48
|
35 | while let Some(event) = browserapps_stream.next().await {
| ^^^^ within `impl core::future::future::Future`, the trait `std::marker::Unpin` is not implemented for `std::future::GenFuture<[static generator@DefId(47:406 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:reqwest::async_impl::response::Response, 1:std::vec::Vec<u8> for<'r, 's, 't0> {&'r mut reqwest::async_impl::response::Response, reqwest::async_impl::response::Response, impl core::future::future::Future, impl core::future::future::Future, ()}]>`
|
= help: the following implementations were found:
<std::future::GenFuture<T> as std::marker::Unpin>
= note: required because it appears within the type `impl core::future::future::Future`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::unfold::Unfold<(reqwest::async_impl::response::Response, std::vec::Vec<u8>), [closure@DefId(47:405 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0])], impl core::future::future::Future>`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::map::Map<futures_util::stream::unfold::Unfold<(reqwest::async_impl::response::Response, std::vec::Vec<u8>), [closure@DefId(47:405 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0])], impl core::future::future::Future>, fn(std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>) -> futures_util::stream::iter::Iter<<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>> as std::iter::IntoIterator>::IntoIter> {futures_util::stream::iter::iter::<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>>}>`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::flatten::Flatten<futures_util::stream::stream::map::Map<futures_util::stream::unfold::Unfold<(reqwest::async_impl::response::Response, std::vec::Vec<u8>), [closure@DefId(47:405 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0])], impl core::future::future::Future>, fn(std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>) -> futures_util::stream::iter::Iter<<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>> as std::iter::IntoIterator>::IntoIter> {futures_util::stream::iter::iter::<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>>}>>`
= note: required because it appears within the type `impl futures_core::stream::Stream`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::then::Then<impl futures_core::stream::Stream, impl core::future::future::Future, [closure@DefId(47:114 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>]>`
= note: required because it appears within the type `impl futures_core::stream::Stream`
error[E0277]: the trait bound `std::future::GenFuture<[static generator@DefId(47:115 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, 2:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15> {std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'r std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'s _, &'t0 _, &'t1 _, &'t2 _, &'t3 _, kube::api::metadata::ObjectMeta, &'t4 kube::api::metadata::ObjectMeta, std::option::Option<std::string::String>, &'t5 std::option::Option<std::string::String>, &'t6 std::string::String, &'t7 std::string::String, &'t8 std::string::String, std::string::String, &'t9 futures_util::lock::mutex::Mutex<std::string::String>, std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, futures_util::lock::mutex::MutexLockFuture<'t10, std::string::String>, futures_util::lock::mutex::MutexLockFuture<'t11, std::string::String>, (), &'t12 kube::ErrorResponse, bool, bool, bool, &'t13 futures_util::lock::mutex::Mutex<bool>, std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, futures_util::lock::mutex::MutexLockFuture<'t14, bool>, futures_util::lock::mutex::MutexLockFuture<'t15, bool>, ()}]>: std::marker::Unpin` is not satisfied in `impl core::future::future::Future`
--> src/main.rs:35:29
|
35 | while let Some(event) = browserapps_stream.next().await {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `impl core::future::future::Future`, the trait `std::marker::Unpin` is not implemented for `std::future::GenFuture<[static generator@DefId(47:115 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, 2:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15> {std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'r std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>, &'s _, &'t0 _, &'t1 _, &'t2 _, &'t3 _, kube::api::metadata::ObjectMeta, &'t4 kube::api::metadata::ObjectMeta, std::option::Option<std::string::String>, &'t5 std::option::Option<std::string::String>, &'t6 std::string::String, &'t7 std::string::String, &'t8 std::string::String, std::string::String, &'t9 futures_util::lock::mutex::Mutex<std::string::String>, std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>, futures_util::lock::mutex::MutexLockFuture<'t10, std::string::String>, futures_util::lock::mutex::MutexLockFuture<'t11, std::string::String>, (), &'t12 kube::ErrorResponse, bool, bool, bool, &'t13 futures_util::lock::mutex::Mutex<bool>, std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, futures_util::lock::mutex::MutexLockFuture<'t14, bool>, futures_util::lock::mutex::MutexLockFuture<'t15, bool>, ()}]>`
|
= help: the following implementations were found:
<std::future::GenFuture<T> as std::marker::Unpin>
= note: required because it appears within the type `impl core::future::future::Future`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::then::Then<impl futures_core::stream::Stream, impl core::future::future::Future, [closure@DefId(47:114 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>]>`
= note: required because it appears within the type `impl futures_core::stream::Stream`
= note: required because of the requirements on the impl of `core::future::future::Future` for `futures_util::stream::stream::next::Next<'_, impl futures_core::stream::Stream>`
error[E0277]: the trait bound `std::future::GenFuture<[static generator@DefId(47:406 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:reqwest::async_impl::response::Response, 1:std::vec::Vec<u8> for<'r, 's, 't0> {&'r mut reqwest::async_impl::response::Response, reqwest::async_impl::response::Response, impl core::future::future::Future, impl core::future::future::Future, ()}]>: std::marker::Unpin` is not satisfied in `impl core::future::future::Future`
--> src/main.rs:35:29
|
35 | while let Some(event) = browserapps_stream.next().await {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `impl core::future::future::Future`, the trait `std::marker::Unpin` is not implemented for `std::future::GenFuture<[static generator@DefId(47:406 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0]::{{closure}}[0]) 0:reqwest::async_impl::response::Response, 1:std::vec::Vec<u8> for<'r, 's, 't0> {&'r mut reqwest::async_impl::response::Response, reqwest::async_impl::response::Response, impl core::future::future::Future, impl core::future::future::Future, ()}]>`
|
= help: the following implementations were found:
<std::future::GenFuture<T> as std::marker::Unpin>
= note: required because it appears within the type `impl core::future::future::Future`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::unfold::Unfold<(reqwest::async_impl::response::Response, std::vec::Vec<u8>), [closure@DefId(47:405 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0])], impl core::future::future::Future>`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::map::Map<futures_util::stream::unfold::Unfold<(reqwest::async_impl::response::Response, std::vec::Vec<u8>), [closure@DefId(47:405 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0])], impl core::future::future::Future>, fn(std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>) -> futures_util::stream::iter::Iter<<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>> as std::iter::IntoIterator>::IntoIter> {futures_util::stream::iter::iter::<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>>}>`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::flatten::Flatten<futures_util::stream::stream::map::Map<futures_util::stream::unfold::Unfold<(reqwest::async_impl::response::Response, std::vec::Vec<u8>), [closure@DefId(47:405 ~ kube[f574]::client[0]::{{impl}}[0]::request_events[0]::{{closure}}[0]::{{closure}}[0])], impl core::future::future::Future>, fn(std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>) -> futures_util::stream::iter::Iter<<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>> as std::iter::IntoIterator>::IntoIter> {futures_util::stream::iter::iter::<std::vec::Vec<std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>>>}>>`
= note: required because it appears within the type `impl futures_core::stream::Stream`
= note: required because of the requirements on the impl of `std::marker::Unpin` for `futures_util::stream::stream::then::Then<impl futures_core::stream::Stream, impl core::future::future::Future, [closure@DefId(47:114 ~ kube[f574]::api[0]::informer[0]::{{impl}}[1]::poll[0]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<futures_util::lock::mutex::Mutex<bool>>, 1:std::sync::Arc<futures_util::lock::mutex::Mutex<std::string::String>>]>`
= note: required because it appears within the type `impl futures_core::stream::Stream`
= note: required because of the requirements on the impl of `core::future::future::Future` for `futures_util::stream::stream::next::Next<'_, impl futures_core::stream::Stream>`
error[E0308]: mismatched types
--> src/main.rs:36:16
|
36 | handle(event);
| ^^^^^ expected enum `kube::api::resource::WatchEvent`, found enum `std::result::Result`
|
= note: expected enum `kube::api::resource::WatchEvent<kube::api::resource::Object<BrowserApp, kube::api::Void>>`
found enum `std::result::Result<kube::api::resource::WatchEvent<_>, kube::Error>`
error: aborting due to 5 previous errors
Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `k8s-controller`.
To learn more, run the command again with --verbose.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment