    Checking some_executor v0.5.0 (/Users/drew/Code/some_executor)
    Checking some_executor v0.5.0 (/Users/drew/Code/some_executor)
warning: bound is defined in more than one place
  --> src/local.rs:43:20
   |
43 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
   |                    ^
...warning: bound is defined in more than one place
  --> src/local.rs:43:20
   |
43 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
   |                    ^
...
49 |         F: 'executor,
   |         ^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
   = note: `#[warn(clippy::multiple_bound_locations)]` on by default


49 |         F: 'executor,
   |         ^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations
   = note: `#[warn(clippy::multiple_bound_locations)]` on by default

warning: bound is defined in more than one place
  --> src/local.rs:57:26
   |
57 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
   |                          ^
...
63 warning: bound is defined in more than one place
  --> src/local.rs:57:26
   |
57 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
   |                          ^
...
63 |         F: 'executor,
   |         ^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

|         F: 'executor,
   |         ^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: empty line after doc comment
   --> warning: empty line after doc comment
   --> src/local.rs:105:1
    |
105 | / /**
106 | | src/local.rs:105:1
    |
105 | / /**
106 | | Like `SomeLocalExecutorErasingNotifier`, but owns the underlying executor.
107 | | */
108 Like `SomeLocalExecutorErasingNotifier`, but owns the underlying executor.
107 | | */
108 | |
| |
    | |_^
109 |   pub(crate) struct OwnedSomeLocalExecutorErasingNotifier<'underlying, UnderlyingExecutor> {
    | |_^
109 |   pub(crate) struct OwnedSomeLocalExecutorErasingNotifier<'underlying, UnderlyingExecutor> {
    |   ------------------------------------------------------- the comment documents this struct
    |
    |   ------------------------------------------------------- the comment documents this struct
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
    = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default
    = help    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
    = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default
    = help: if the empty line is unintentional, remove it

: if the empty line is unintentional, remove it

warning: bound is defined in more than one place
   --> warning: bound is defined in more than one place
   --> src/local.rs:130:20
    |
130 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
136 | src/local.rs:130:20
    |
130 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
136 |         F: 'underlying,
    |         ^
    |
        F: 'underlying,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: bound is defined in more than one place
   --> src/local.rs:144:26
    |warning: bound is defined in more than one place
   --> src/local.rs:144:26
    |
144 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
    
144 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                          ^
...
150 |         F: 'underlying,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

|                          ^
...
150 |         F: 'underlying,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: bound is defined in more than one place
   --> src/local.rs:228:20
    warning: bound is defined in more than one place
   --> src/local.rs:228:20
    |
228 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    ||
228 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
234                     ^
...
234 |         F: 'a,
    |         ^
    |         F: 'a,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: empty line after doc comment
   --> src/task.rs:809:5
    |
809 | /     /**
810 | |     Spawns the task onto a local executor.
warning: empty line after doc comment
   --> src/task.rs:809:5
    |
809 | /     /**
810 | |     Spawns the task onto a local executor.
811 | |
812 | |     # Objsafe
...   |
824 | |     */
825 | |
    | |_^
826 |       pub fn spawn_objsafe<Executor: SomeExecutor>(
    |       --------------------811 | |
812 | |     # Objsafe
...   |
824 | |     */
825 | |
    | |_^
826 |       pub fn spawn_objsafe<Executor: SomeExecutor>(
    |       -------------------- the comment documents this function
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
    = help: if the empty line is unintentional, remove it

 the comment documents this function
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
    = help: if the empty line is unintentional, remove it

warning: empty line after doc comment
    --> src/task.rs:1788:5
     |
1788 | /     /**
1789 | |     Equivalent to [TaskID::to_u64].warning: empty line after doc comment
    --> src/task.rs:1788:5
     |
1788 | /     /**
1789 | |     Equivalent to [TaskID::to_u64].
1790 | |     */
1791 | |
     | |_^

1790 | |     */
1791 | |
     | |_^
1792 |       fn from(id: TaskID) -> u64 {
     |       ------- the comment documents this function
1792 |       fn from(id: TaskID) -> u64 {
     |       ------- the comment documents this function
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
     = help     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
     = help: if the empty line is unintentional, remove it

: if the empty line is unintentional, remove it

warning: bound is defined in more than one place
   --> src/lib.rs:328:20
    |
328 | warning: bound is defined in more than one place
   --> src/lib.rs:328:20
    |
328 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
334 |         F: 'future,
    |         ^
    |
        fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
334 |         F: 'future,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: bound is defined in more than one place
   --> src/lib.rs:344:26warning: bound is defined in more than one place
   --> src/lib.rs:344:26
    |
344 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                          ^
...
350 |         F: 'future,
    |         ^
    |
    = help
    |
344 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                          ^
...
350 |         F: 'future,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: bound is defined in more than one place
   --> src/lib.rs:417:20
    |
417warning: bound is defined in more than one place
   --> src/lib.rs:417:20
    |
417 |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
423 |         F: 'future,
    |         ^
     |     fn spawn_local<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                    ^
...
423 |         F: 'future,
    |         ^
    |
    = |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: bound is defined in more than one place
   --> src/lib.rs:433:26
    warning: bound is defined in more than one place
   --> src/lib.rs:433:26
    |
433 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                          ^
...
439 ||
433 |     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
    |                          ^
...
439 |         F: 'future,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

         F: 'future,
    |         ^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations

warning: using `clone` on type `T` which implements the `Copy` trait
   --> src/context.rs:651:13
    |
651 | warning: using `clone` on type `T` which implements the `Copy` trait
   --> src/context.rs:651:13
    |
651 |             value.expect("Task-local not set").clone()            value.expect("Task-local not set").clone()
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `value.expect("Task-local not set")`
    |
     help: try removing the `clone` call: `value.expect("Task-local not set")`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
    = note= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
    = note: `#[warn(clippy::clone_on_copy)]` on by default

: `#[warn(clippy::clone_on_copy)]` on by default

warning: using `clone` on type `T` which implements the `Copy` trait
   --> warning: using `clone` on type `T` which implements the `Copy` trait
   --> src/context.rs:811:13
    |
811 |             value.expect("Task-local not set").clone()
    src/context.rs:811:13
    |
811 |             value.expect("Task-local not set").clone()
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `value.expect("Task-local not set")`
    |
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `value.expect("Task-local not set")`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

warning: this `match` can be collapsed into the outer `match`
  --> src/current_executor.rs:29:17
   |
29 | warning: this `match` can be collapsed into the outer `match`
  --> src/current_executor.rs:29:17
   |
29 | /                 match e {
30 | |                     Some(e) => Some(e.clone_box()),
31 | /                 match e {
30 | |                     Some(e) => Some(e.clone_box()),
31 | |                     None => None,
32 | |                 }
   | |_________________^
   |
help: the outer pattern can be modified to include the inner pattern
  |                     None => None,
32 | |                 }
   | |_________________^
   |
help: the outer pattern can be modified to include the inner pattern
  --> src/current_executor.rs:27:18
   |
27 |             Some(e) => {--> src/current_executor.rs:27:18
   |
27 |             Some(e) => {
   |                  ^ replace this binding
...
30 |                     Some(e) => Some(e.clone_box()),
   |                     ^^^^^^^ with this pattern
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
   = note: `#[warn(clippy::collapsible_match)]` on by default


   |                  ^ replace this binding
...
30 |                     Some(e) => Some(e.clone_box()),
   |                     ^^^^^^^ with this pattern
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match
   = note: `#[warn(clippy::collapsible_match)]` on by default

warning: manual implementation of `Option::map`
  --> src/current_executor.rs:29:17
   |
29 | /                 match e {
30 | |                     Some(e) => Some(e.clone_box()),
31 | |                     None => None,
32 | |                 }
   warning: manual implementation of `Option::map`
  --> src/current_executor.rs:29:17
   |
29 | /                 match e {
30 | |                     Some(e) => Some(e.clone_box()),
31 | |                     None => None,
32 | |                 }
   | |_________________^ help: try: `e.as_ref().map(|e| e.clone_box())`
   |
   = | |_________________^ help: try: `e.as_ref().map(|e| e.clone_box())`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map
   = note: `#[warn(clippy::manual_map)]` on by default

help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map
   = note: `#[warn(clippy::manual_map)]` on by default

warning: this function can be simplified using the `async fn` syntax
  --> src/dyn_executor.rs:32:5
   |
32 | /warning: this function can be simplified using the `async fn` syntax
  --> src/dyn_executor.rs:32:5
   |
32 | /     fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
33 | |         &'s mut self,
34     fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
33 | |         &'s mut self,
34 | | |         task: Task<F, Notifier>,
35 | |  |         task: Task<F, Notifier>,
35 | |     ) -> impl Future<Output = impl Observer<Value = F::Output>> + Send + 's
   | |___________________________________________________________________________^
   |    ) -> impl Future<Output = impl Observer<Value = F::Output>> + Send + 's
   | |___________________________________________________________________________^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
   = note
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
   = note: `#[warn(clippy::manual_async_fn)]` on by default
help: make the function `async` and return the output of the future directly
   |
32: `#[warn(clippy::manual_async_fn)]` on by default
help: make the function `async` and return the output of the future directly
   |
32 ~     async fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
33 +         &'s mut self,
 ~     async fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
33 +         &'s mut self,
34 +         task: Task<F, Notifier>,
35 +     ) -> impl Observer<Value = F::Output>
3634 +         task: Task<F, Notifier>,
35 +     ) -> impl Observer<Value = F::Output>
36 |     where
37 |         Self: Sized,
38 |         F::Output: Send + Unpin,
39 ~  |     where
37 |         Self: Sized,
38 |         F::Output: Send + Unpin,
39 ~     {
40 +         let underlying = self.as_mut();
41 +         let objsafe = task.into_objsafe();
42 +         let observer = underlying.spawn_objsafe(objsafe);
43 +         //write in the type again
44     {
40 +         let underlying = self.as_mut();
41 +         let objsafe = task.into_objsafe();
42 +         let observer = underlying.spawn_objsafe(objsafe);
43 +         //write in the type again
44 +         let downcasted: DowncastObserver<_, F::Output> = DowncastObserver::new(observer);
+         let downcasted: DowncastObserver<_, F::Output> = DowncastObserver::new(observer);
45 +         downcasted
46 +     }
   |
45 +         downcasted
46 +     }
   |


error: an async construct yields a type which is itself awaitable
  --> src/dyn_executor.rs:46:13
   |
40 error: an async construct yields a type which is itself awaitable
  --> src/dyn_executor.rs:46:13
   |
40 |           async {
   |  _______________-
41 | |             let underlying = self.as_mut();
|           async {
   |  _______________-
41 | |             let underlying = self.as_mut();
42 | |             let objsafe = task.into_objsafe();
43 |42 | |             let objsafe = task.into_objsafe();
43 | |             let observer = underlying.spawn_objsafe(objsafe);
...  |
 |             let observer = underlying.spawn_objsafe(objsafe);
...  |
46 | 46 | |             downcasted
   |             downcasted
   | |             ^^^^^^^^^^
   | |             || |             ^^^^^^^^^^
   | |             |
   | |             awaitable value not awaited
   |
   | |             awaitable value not awaited
   | |             help: consider awaiting this value: `downcasted.await`
47 |  |             help: consider awaiting this value: `downcasted.await`
47 | |         }
   | |_________- outer async construct|         }
   | |_________- outer async construct
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async
   = note: `#[deny(clippy::async_yields_async)]` on by default

   = note: `#[deny(clippy::async_yields_async)]` on by default

warning: this `impl` can be derived
  --> src/hint.rs:24:1
   |
24warning: this `impl` can be derived
  --> src/hint.rs:24:1
   |
24 | / impl Default for Hint {
25 | |     fn default() -> Self { | / impl Default for Hint {
25 | |     fn default() -> Self {
26 | |         Hint::Unknown
27 | |     }

26 | |         Hint::Unknown
27 | |     }
28 | | }
   | |_^28 | | }
   | |_^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
   
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
   = note: `#[warn(clippy::derivable_impls)]` on by default
help: replace the manual implementation with a derive attribute and mark the default variant
   |= note: `#[warn(clippy::derivable_impls)]` on by default
help: replace the manual implementation with a derive attribute and mark the default variant
   |
8  + #[derive(Default)]
9  ~ pub enum Hint {
8  + #[derive(Default)]
9  ~ pub enum Hint {
10 |     /**
11 |
10 |     /**
11 |     We don't know anything about the task.
12 |     */
13 ~      We don't know anything about the task.
12 |     */
13 ~     #[default]
14 ~     Unknown,
       #[default]
14 ~     Unknown,
   |

|

warning: this function can be simplified using the `async fn` syntax
   --> src/last_resort.rs:159:5
    |
159 |warning: this function can be simplified using the `async fn` syntax
   --> src/last_resort.rs:159:5
    |
159 | /     fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
 /     fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
160 160 | |         &'s mut self,
161| |         &'s mut self,
161 | |         task: Task<F, Notifier>, | |         task: Task<F, Notifier>,
162
162 | |     ) -> impl Future<Output = impl Observer<Value = F::Output>> + Send + 's
    | | |     ) -> impl Future<Output = impl Observer<Value = F::Output>> + Send + 's
    | |___________________________________________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
help: make the function `async` and return the output of the future directly
    | |___________________________________________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
help: make the function `async` and return the output of the future directly
    |
159 ~     async fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
160 +         &'s mut self,
159 ~     async fn spawn_async<'s, F: Future + Send + 'static, Notifier: ObserverNotified<F::Output> + Send>(
160 +         &'s mut self,
161 +         task: Task<F, Notifier>,

161 +         task: Task<F, Notifier>,
162 +     ) -> impl Observer<Value = F::Output>
163 |     where
164 |         Self: Sized,162 +     ) -> impl Observer<Value = F::Output>
163 |     where
164 |         Self: Sized,
165 |         F::Output: Send + Unpin,
166 ~ 
165 |         F::Output: Send + Unpin,
166 ~     {
167 +         let (s, o) = task.spawn(self);
168 +         Self::spawn(s);
169 +         o
170     {
167 +         let (s, o) = task.spawn(self);
168 +         Self::spawn(s);
169 +         o
170 +     }
    |

+     }
    |

error: an async construct yields a type which is itself awaitable
   --> src/last_resort.rs:209:13
    |
206 |            Box::new(async {
    |  _________________________-
207 | error: an async construct yields a type which is itself awaitable
   --> src/last_resort.rs:209:13
    |
206 |            Box::new(async {
    |  _________________________-
207 | |              let (s, o) = task.spawn_objsafe(self);
208 | |              Self::spawn(s);
209 | |              let (s, o) = task.spawn_objsafe(self);
208 | |              Self::spawn(s);
209 | |/             Box::new(o)
210 | ||/             Box::new(o)
210 | ||                 as Box<
211 | |||                 as Box<
211 | ||                     dyn Observer<
212 | ||                     dyn Observer<
212 | ||                             Value = Box<dyn Any + Send>,
213 | ||                              Value = Box<dyn Any + Send>,
213 | ||                             Output = FinishedObservation<Box<dyn Any + Send>>,
214 | ||                             Output = FinishedObservation<Box<dyn Any + Send>>,
214 | ||                         > + Send,
215 | ||                         > + Send,
215 | ||                 >
    | ||_________________^ awaitable value not awaited                >
    | ||_________________^ awaitable value not awaited
216 | |          })

216 | |          })
    |     | |__________- outer async construct
    |
    = |__________- outer async construct
    |
    = helphelp: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async
help: consider awaiting this value
    |
215: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async
help: consider awaiting this value
    |
215 |             Box::new(o)
...
220 | |             Box::new(o)
...
220 |                         > + Send,
221 ~                 >.await
                             > + Send,
221 ~                 >.await
    |

|

warning: this function can be simplified using the `async fn` syntax
  --> src/local.rs:57:5warning: this function can be simplified using the `async fn` syntax
  --> src/local.rs:57:5
   |
57 | /     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
58 | | 
   |
57 | /     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
58 | |         &mut self,
59 | |         task: Task<F, Notifier>,
        &mut self,
59 | |         task: Task<F, Notifier>,
60 | | 60 | |     ) -> impl Future<Output = impl Observer<Value = F::Output>>
   | |_______________________________________________________________^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
help: make the function `async` and return the output of the future directly
   |
57 ~     async fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
58 +         &mut self,
59 +         task: Task<F, Notifier>,
60 +     ) -> impl Observer<Value = F::Output>
61 |     where
...
64    ) -> impl Future<Output = impl Observer<Value = F::Output>>
   | |_______________________________________________________________^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
help: make the function `async` and return the output of the future directly
   |
57 ~     async fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
58 +         &mut self,
59 +         task: Task<F, Notifier>,
60 +     ) -> impl Observer<Value = F::Output>
61 |     where
...
64 |         F::Output: 'static + Unpin,
65 ~  |         F::Output: 'static + Unpin,
65 ~     { self.executor.spawn_local_async(task).await }
   |

    { self.executor.spawn_local_async(task).await }
   |

error: an async construct yields a type which is itself awaitable
  --> src/local.rs:66:17
   |
66 |         async { self.executor.spawn_local_async(task).await }
   |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
   |error: an async construct yields a type which is itself awaitable
  --> src/local.rs:66:17
   |
66 |         async { self.executor.spawn_local_async(task).await }
   |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
   |               | |
                  | |
   |               | awaitable value not awaited
   |               | help: consider awaiting this value: `self.executor.spawn_local_async(task).await.await`
   |               outer async construct|               | awaitable value not awaited
   |               | help: consider awaiting this value: `self.executor.spawn_local_async(task).await.await`
   |               outer async construct
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async


error: an async construct yields a type which is itself awaitable
error: an async construct yields a type which is itself awaitable
  --> src/local.rs:94:13
   |
92 |           Box::new(async {
   |  ________________________-
93 | |             let objsafe_spawn_fut = self.executor.spawn_local_objsafe_async(task);
94 | |             Box::into_pin(objsafe_spawn_fut).await
   | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   | |             |
   | |             awaitable value not awaited
   |  --> src/local.rs:94:13
   |
92 |           Box::new(async {
   |  ________________________-
93 | |             let objsafe_spawn_fut = self.executor.spawn_local_objsafe_async(task);
94 | |             Box::into_pin(objsafe_spawn_fut).await
   | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   | |             |
   | |             awaitable value not awaited
   | |             help: consider awaiting this value: `Box::into_pin(objsafe_spawn_fut).await.await`
95 | |  |             help: consider awaiting this value: `Box::into_pin(objsafe_spawn_fut).await.await`
95 | |         })
   | |_________- outer async construct
           })
   | |_________- outer async construct
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

|
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

warning: this function can be simplified using the `async fn` syntax
   --> src/local.rs:144:5
warning: this function can be simplified using the `async fn` syntax
   --> src/local.rs:144:5
    |
144 | /     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
145 | |         &mut self,
146 | |         task: Task<F, Notifier>,
147 | |     ) -> impl Future<Output = impl Observer<Value = F::Output>>
    | |_______________________________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
help: make the function `async` and return the output of the future directly
    |
144 | /     fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
145 | |         &mut self,
146 | |         task: Task<F, Notifier>,
147 | |     ) -> impl Future<Output = impl Observer<Value = F::Output>>
    | |_______________________________________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn
help: make the function `async` and return the output of the future directly
    |
144 ~     async fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
145 +         &mut self,
146    |
144 ~     async fn spawn_local_async<F: Future, Notifier: ObserverNotified<F::Output>>(
145 +         &mut self,
146 +         task: Task<F, Notifier>,
147 +     ) -> impl Observer<Value = F::Output>
148 |     where
...
151 |         F::Output: 'static + Unpin, +         task: Task<F, Notifier>,
147 +     ) -> impl Observer<Value = F::Output>
148 |     where
...
151 |         F::Output: 'static + Unpin,
152 ~     { self.executor.spawn_local_async(task).await }
152 ~     { self.executor.spawn_local_async(task).await }
    |


    |

error: an async construct yields a type which is itself awaitable
   --> src/local.rs:153:17
    |error: an async construct yields a type which is itself awaitable
   --> src/local.rs:153:17
    |
153 |         async { self.executor.spawn_local_async(task).await }
    |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
    |               | |

153 |         async { self.executor.spawn_local_async(task).await }
    |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
    |               | |
    |    |               | awaitable value not awaited
    |               |                | awaitable value not awaited
    |               | help: consider awaiting this value: `self.executor.spawn_local_async(task).await.await`
    |               outer async construct
    |help: consider awaiting this value: `self.executor.spawn_local_async(task).await.await`
    |               outer async construct
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async


    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

error: an async construct yields a type which is itself awaitable
   --> src/local.rs:181:13
    |
179 |           Box::new(async {
    |  ________________________-
180 | |             let objsafe_spawn_fut = self.executor.spawn_local_objsafe_async(task);
181 | |             Box::into_pin(objsafe_spawn_fut).await
    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | |             |error: an async construct yields a type which is itself awaitable
   --> src/local.rs:181:13
    |
179 |           Box::new(async {
    |  ________________________-
180 | |             let objsafe_spawn_fut = self.executor.spawn_local_objsafe_async(task);
181 | |             Box::into_pin(objsafe_spawn_fut).await
    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | |             |
    | |             awaitable value not awaited
    | |             help: consider awaiting this value: `Box::into_pin(objsafe_spawn_fut).await.await`
182 | |         })
    | |_________- outer async construct
    |

    | |             awaitable value not awaited
    | |             help: consider awaiting this value: `Box::into_pin(objsafe_spawn_fut).await.await`
182 | |         })
    | |_________- outer async construct
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async

error: an async construct yields a type which is itself awaitable
   --> src/local.rs:257:17
    |
256error: an async construct yields a type which is itself awaitable
   --> src/local.rs:257:17
    |
256 |                async {
     |                async {
    |  ____________________-
257 | |/|  ____________________-
257 | |/                 unimplemented!("Not implemented for erased executor; use objsafe method")
258 | ||                 unimplemented!("Not implemented for erased executor; use objsafe method")
258 | ||                     as TypedObserver<F::Output, Infallible>
    | ||___________________________________________________________^                      as TypedObserver<F::Output, Infallible>
    | ||___________________________________________________________^ awaitable value not awaited
259 | |              }awaitable value not awaited
259 | |              }
    | |______________- outer async construct
    
    | |______________- outer async construct
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async
help: consider awaiting this value|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#async_yields_async
help: consider awaiting this value
    |
258 |                 unimplemented!("Not implemented for erased executor; use objsafe method")

    |
258 |                 unimplemented!("Not implemented for erased executor; use objsafe method")
259 ~                     as TypedObserver<F::Output, Infallible>.await
    |
259 ~                     as TypedObserver<F::Output, Infallible>.await
    |


warning: this lifetime isn't used in the impl
   --> src/observer.rs:239:6
    |
239 | impl<'executor, T, ENotifier: ExecutorNotified> Drop for TypedObserver<T, ENotifier> {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
    = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default

warning: this lifetime isn't used in the impl
   --> src/observer.rs:239:6
    |
239 | impl<'executor, T, ENotifier: ExecutorNotified> Drop for TypedObserver<T, ENotifier> {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes
    = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default

warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
   --> src/observer.rs:246:13
    |
246 |             self.notifier.take().map(|mut n| n.request_cancel());
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
    |             |
    |warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
   --> src/observer.rs:246:13
    |
246 |             self.notifier.take().map(|mut n| n.request_cancel());
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
    |             |
    |             help: try: `if let Some(mut n) = self.notifier.take() { n.request_cancel() }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn
    = note: `#[warn(clippy::option_map_unit_fn)]` on by default
             help: try: `if let Some(mut n) = self.notifier.take() { n.request_cancel() }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn
    = note: `#[warn(clippy::option_map_unit_fn)]` on by default


warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
   warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()`
   --> src/observer.rs:277:9
    |
277 |--> src/observer.rs:277:9
    |
277 |         self.notifier.as_mut().map(|n| n.notify(&value));
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
             self.notifier.as_mut().map(|n| n.notify(&value));
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
    |         |
    |         help: try: `if let Some(n) = self.notifier.as_mut() { n.notify(&value) }`
|         |
    |         help: try: `if let Some(n) = self.notifier.as_mut() { n.notify(&value) }`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn

    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn

warning: returning the result of a `let` binding from a block
   --> src/observer.rs:352:17
    |
351 warning: returning the result of a `let` binding from a block
   --> src/observer.rs:352:17
    |
351 |                 let value = std::mem::replace(&mut *lock, Observation::Done);
|                 let value = std::mem::replace(&mut *lock, Observation::Done);
    |                 ------------------------------------------------------------- unnecessary `let` binding
352 |                 value
    |                 ^^^^^
        |                 ------------------------------------------------------------- unnecessary `let` binding
352 |                 value
    |                 ^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
    = note|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return
    = note: `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
    |
351 : `#[warn(clippy::let_and_return)]` on by default
help: return the expression directly
    |
351 ~                 
352 ~                 std::mem::replace(&mut *lock, Observation::Done)
    ~                 
352 ~                 std::mem::replace(&mut *lock, Observation::Done)
    |

|

warning: this lifetime isn't used in the impl
   --> src/observer.rs:552:6
    |
552 | impl<'executor> ExecutorNotified for Infallible {
    |      ^^^^^^^^^
    warning: this lifetime isn't used in the impl
   --> src/observer.rs:552:6
    |
552 | impl<'executor> ExecutorNotified for Infallible {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

warning: this lifetime isn't used in the function definition
   warning: this lifetime isn't used in the function definition
   --> src/observer.rs:558:32
    |
558 --> src/observer.rs:558:32
    |
558 | pub(crate) fn observer_channel<'enotifier, R, ONotifier, ENotifier: ExecutorNotified>(
    |                                ^^^^^^^^^^
    | pub(crate) fn observer_channel<'enotifier, R, ONotifier, ENotifier: ExecutorNotified>(
    |                                ^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

warning: this lifetime isn't used in the impl
   --> src/observer.rs:598:6
    |
598 | impl<'executor> ExecutorNotified for Box<dyn ExecutorNotified + Send> {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

warning: this lifetime isn't used in the impl
   --> src/observer.rs:598:6
    |
598 | impl<'executor> ExecutorNotified for Box<dyn ExecutorNotified + Send> {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

warning: this lifetime isn't used in the impl
   --> src/task.rs:406:6
    |warning: this lifetime isn't used in the impl
   --> src/task.rs:406:6
    |
406 | impl<'executor, F: Future, ONotifier, Executor> SpawnedLocalTask<F, ONotifier, Executor> {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes


406 | impl<'executor, F: Future, ONotifier, Executor> SpawnedLocalTask<F, ONotifier, Executor> {
    |      ^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:534:37
    |
534 |     pub static TASK_LOCAL_EXECUTOR: RefCell<Option<Box<dyn SomeLocalExecutor<'static, ExecutorNotifier=Box<dyn ExecutorNotified>>>>> = Re...
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:534:37
    |
534 |     pub static TASK_LOCAL_EXECUTOR: RefCell<Option<Box<dyn SomeLocalExecutor<'static, ExecutorNotifier=Box<dyn ExecutorNotified>>>>> = Re...
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
    = note: `#[warn(clippy::type_complexity)]` on by default

|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
    = note: `#[warn(clippy::type_complexity)]` on by default

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:699:10
    |
699 |       ) -> (
    |  __________^
700 | |         SpawnedTask<F, N, Executor>,
701 | | warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:699:10
    |
699 |       ) -> (
    |  __________^
700 | |         SpawnedTask<F, N, Executor>,
701 | |         TypedObserver<F::Output, Executor::ExecutorNotifier>,
702 | |     ) {
    | |_____^
    |        TypedObserver<F::Output, Executor::ExecutorNotifier>,
702 | |     ) {
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity


    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:784:10
    |
784 |       ) -> (
    |  __________^
785 | |         SpawnedLocalTask<F, N, Executor>,
786 | | warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:784:10
    |
784 |       ) -> (
    |  __________^
785 | |         SpawnedLocalTask<F, N, Executor>,
786 | |         TypedObserver<F::Output, Executor::ExecutorNotifier>,
787 | |     ) {
    | |_____^
    |
            TypedObserver<F::Output, Executor::ExecutorNotifier>,
787 | |     ) {
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:829:10
    |
829 |       ) -> (
    |  __________^
830warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:829:10
    |
829 |       ) -> (
    |  __________^
830 | |         SpawnedTask<F, N, Executor>,
831 | | | |         SpawnedTask<F, N, Executor>,
831 | |         TypedObserver<F::Output, Box<dyn ExecutorNotified + Send>>,
832 | |     ) {
         TypedObserver<F::Output, Box<dyn ExecutorNotified + Send>>,
832 | |     ) {
    | |_____^
        | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

|
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:878:10
    |
878 |       ) -> (
    |  __________^
879 | |         SpawnedLocalTask<F, N, Executor>,
880 | |         TypedObserver<F::Output, Box<dyn ExecutorNotified>>,
881 | |     ) {
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:878:10
    |
878 |       ) -> (
    |  __________^
879 | |         SpawnedLocalTask<F, N, Executor>,
880 | |         TypedObserver<F::Output, Box<dyn ExecutorNotified>>,
881 | |     ) {
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:913:10
    |
913 |       ) -> Task<
    |  __________^
914 | |         Pin<Box<dyn Future<Output = Box<dyn Any + 'static + Send>> + 'static + Send>>,
warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/task.rs:913:10
    |
913 |       ) -> Task<
    |  __________^
914 | |         Pin<Box<dyn Future<Output = Box<dyn Any + 'static + Send>> + 'static + Send>>,
915 | |         Box<dyn ObserverNotified<dyn Any + Send> + Send>,
916 | |     >
915 | |         Box<dyn ObserverNotified<dyn Any + Send> + Send>,
916 | |     >
    | |_____^
    |
    =     | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: this function has too many arguments (10/7)
   --> src/task.rs:960:1
    |
960 | / fn common_poll<'l, F, N, L>(
961 | |     future: Pin<&mut F>,
962 | |     sender: &mut ObserverSender<F::Output, N>,
963warning: this function has too many arguments (10/7)
   --> src/task.rs:960:1
    |
960 | / fn common_poll<'l, F, N, L>(
961 | |     future: Pin<&mut F>,
962 | |     sender: &mut ObserverSender<F::Output, N>,
963 | |     label: &mut Option<String>,
...   |
 | |     label: &mut Option<String>,
...   |
970 | |     cx: &mut Context,
971 970 | |     cx: &mut Context,
971 | | ) -> std::task::Poll<()>
    | | | ) -> std::task::Poll<()>
    | |________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments|________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
    = note: `#[warn(clippy::too_many_arguments)]` on by default


    = note: `#[warn(clippy::too_many_arguments)]` on by default

warning: redundant closure
    --> src/task.rs:1366:44
     |
1366warning: redundant closure
    --> src/task.rs:1366:44
     |
1366 |             hint: self.hint.unwrap_or_else(|| Hint::default()),
     |                                            ^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `Hint::default`
      |             hint: self.hint.unwrap_or_else(|| Hint::default()),
     |                                            ^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `Hint::default`
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
     = note: `#[warn(clippy::redundant_closure)]` on by default
|
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
     = note: `#[warn(clippy::redundant_closure)]` on by default


warning: unnecessary closure used to substitute value for `Option::None`
    --> src/task.rs:1367:23
     |
warning: unnecessary closure used to substitute value for `Option::None`
    --> src/task.rs:1367:23
     |
1367 |             priority: self.priority.unwrap_or_else(|| priority::Priority::Unknown),
     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations1367 |             priority: self.priority.unwrap_or_else(|| priority::Priority::Unknown),
     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations
     = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default
help: use `unwrap_or` instead
     |
1367
     = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default
help: use `unwrap_or` instead
     |
1367 -             priority: self.priority.unwrap_or_else(|| priority::Priority::Unknown),
1367 +             priority: self.priority.unwrap_or(priority::Priority::Unknown),
 -             priority: self.priority.unwrap_or_else(|| priority::Priority::Unknown),
1367 +             priority: self.priority.unwrap_or(priority::Priority::Unknown),
     |

warning: redundant closure     |

warning: redundant closure
    --> src/task.rs:1370:33
     
    --> src/task.rs:1370:33
     |
1370 |                 .unwrap_or_else(|| crate::sys::Instant::now()),
     |
1370 |                 .unwrap_or_else(|| crate::sys::Instant::now()),
     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::sys::Instant::now`
     |
|                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::sys::Instant::now`
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure

     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure

warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true
    --> src/task.rs:1770:1
     |
1770 | impl Into<bool> for InFlightTaskCancellation {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see
             https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherencewarning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true
    --> src/task.rs:1770:1
     |
1770 | impl Into<bool> for InFlightTaskCancellation {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = help: `impl From<Local> for Foreign` is allowed by the orphan rules, for more information see
             https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into
     = note: `#[warn(clippy::from_over_into)]` on by default

     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into
     = note: `#[warn(clippy::from_over_into)]` on by default
help: replace the `Into` implementation with `From<task::InFlightTaskCancellation>`
     |
1770 ~ impl help: replace the `Into` implementation with `From<task::InFlightTaskCancellation>`
     |
1770 ~ impl From<InFlightTaskCancellation> for bool {
1771 ~ From<InFlightTaskCancellation> for bool {
1771 ~     fn from(val: InFlightTaskCancellation) -> Self {
1772    fn from(val: InFlightTaskCancellation) -> Self {
1772 ~         val.0.load(std::sync::atomic::Ordering::Relaxed)
     |
 ~         val.0.load(std::sync::atomic::Ordering::Relaxed)
     |


warning: very complex type used. Consider factoring parts into `type` definitions
  --> src/thread_executor.rs:89:35
   |
89 |     static THREAD_LOCAL_EXECUTOR: RefCell<Option<Box<dyn SomeLocalExecutor<'static, ExecutorNotifier = Box<dyn ExecutorNotified>>>>> = Re...
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   warning: very complex type used. Consider factoring parts into `type` definitions
  --> src/thread_executor.rs:89:35
   |
89 |     static THREAD_LOCAL_EXECUTOR: RefCell<Option<Box<dyn SomeLocalExecutor<'static, ExecutorNotifier = Box<dyn ExecutorNotified>>>>> = Re...
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:203:15
    |
warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:203:15
    |
203 |           task: Task<
    203 |           task: Task<
    |  _______________^
204 | | |  _______________^
204 | |             Pin<Box<dyn Future<Output = Box<dyn Any + 'static + Send>> + 'static + Send>>,
205 | |             Box<dyn ObserverNotified<dyn Any + Send> + Send>,            Pin<Box<dyn Future<Output = Box<dyn Any + 'static + Send>> + 'static + Send>>,
205 | |             Box<dyn ObserverNotified<dyn Any + Send> + Send>,
206 | |         >,

206 | |         >,
    | |_________^
    |
        | |_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:207:10
    |
: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:207:10
    |
207 |       ) -> Box<
    | 207 |       ) -> Box<
    |  __________^
208 | |         dyn Observer<Value = Box<dyn Any + Send>, Output = FinishedObservation<Box<dyn Any + Send>>> __________^
208 | |         dyn Observer<Value = Box<dyn Any + Send>, Output = FinishedObservation<Box<dyn Any + Send>>>
209 | |             + Send,
210
209 | |             + Send,
210 | |     >;
    |  | |     >;
    | |_____^
    |
    = help|_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:221:15
    |
221 |           task: Task<
    |  _______________^
222 warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:221:15
    |
221 |           task: Task<
    |  _______________^
222 | |             Pin<Box<dyn Future<Output = Box<dyn Any + 'static + Send>> + 'static + Send>>,
223 | |             Box<dyn ObserverNotified<dyn Any + Send> + Send>,
224 | |         >,
    | | |             Pin<Box<dyn Future<Output = Box<dyn Any + 'static + Send>> + 'static + Send>>,
223 | |             Box<dyn ObserverNotified<dyn Any + Send> + Send>,
224 | |         >,
    | |_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
|_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> 
warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:225:10
    |
225 |       ) -> Box<src/lib.rs:225:10
    |
225 |       ) -> Box<
    |  __________^
226 | |         dyn Future<
227 | | 
    |  __________^
226 | |         dyn Future<
227 | |                 Output = Box<
228 | |                     dyn Observer<
...   |
                Output = Box<
228 | |                     dyn Observer<
...   |
233 | |             > + 's,
234 233 | |             > + 's,
234 | |     >;
    | | |     >;
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity|_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity



warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:362:15
    |warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:362:15
    |
362 |           task: Task<
    |  _______________^
362 |           task: Task<
    |  _______________^
363 | |             Pin<Box<dyn Future<Output = Box<dyn Any>>>>,

363 | |             Pin<Box<dyn Future<Output = Box<dyn Any>>>>,
364364 | |             Box<dyn ObserverNotified<(dyn Any + 'static)>>,
365 | |         >,
 | |             Box<dyn ObserverNotified<(dyn Any + 'static)>>,
365 | |         >,
    | |_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

    | |_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:366:10
    |warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:366:10
    |
366 |     ) -> Box<dyn Observer<Value = Box<dyn Any>, Output = FinishedObservation<Box<dyn Any>>>>;
    |
366 |     ) -> Box<dyn Observer<Value = Box<dyn Any>, Output = FinishedObservation<Box<dyn Any>>>>;
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:370:15
    |
370 : very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:370:15
    |
370 |           task: Task<
    |  _______________^
371 | |           task: Task<
    |  _______________^
371 | |             Pin<Box<dyn Future<Output = Box<dyn Any>>>>,
372 | |             Box<dyn ObserverNotified<(dyn Any + 'static)>>,|             Pin<Box<dyn Future<Output = Box<dyn Any>>>>,
372 | |             Box<dyn ObserverNotified<(dyn Any + 'static)>>,
373 | |         >,
    
373 | |         >,
    | |_________^
    |
    = | |_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:374:10
    warning: very complex type used. Consider factoring parts into `type` definitions
   --> src/lib.rs:374:10
    |
374 |       ) -> Box<
    |
374 |       ) -> Box<
    |  __________^
375 | ||  __________^
375 | |         dyn Future<
376 | |                 Output = Box<         dyn Future<
376 | |                 Output = Box<
377 | |                     dyn Observer<Value = Box<dyn Any>, Output = FinishedObservation<Box<dyn Any>>>,

377 | |                     dyn Observer<Value = Box<dyn Any>, Output = FinishedObservation<Box<dyn Any>>>,
378 | |                 >,
379378 | |                 >,
379 | |             > + 's,
380 | |     >;
    | |_____^ | |             > + 's,
380 | |     >;
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity

    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity


warning: `some_executor` (lib) generated 49 warnings
warning: `some_executor` (lib) generated 49 warnings
error: could not compile `some_executor` (lib) due to 7 previous errors; 49 warnings emitted
error: could not compile `some_executor` (lib) due to 7 previous errors; 49 warnings emitted
