|  | error[E0283]: type annotations needed | 
|  | --> $DIR/issue-80816.rs:50:38 | 
|  | | | 
|  | LL |     let guard: Guard<Arc<usize>> = s.load(); | 
|  | |                                      ^^^^ | 
|  | | | 
|  | note: multiple `impl`s satisfying `ArcSwapAny<Arc<usize>>: Access<_>` found | 
|  | --> $DIR/issue-80816.rs:36:1 | 
|  | | | 
|  | LL | impl<T> Access<T> for ArcSwapAny<T> { | 
|  | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
|  | ... | 
|  | LL | impl<T> Access<T> for ArcSwapAny<Arc<T>> { | 
|  | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
|  | note: required for `Arc<ArcSwapAny<Arc<usize>>>` to implement `Access<_>` | 
|  | --> $DIR/issue-80816.rs:31:45 | 
|  | | | 
|  | LL | impl<T, A: Access<T>, P: Deref<Target = A>> Access<T> for P { | 
|  | |            ---------                        ^^^^^^^^^     ^ | 
|  | |            | | 
|  | |            unsatisfied trait bound introduced here | 
|  | help: try using a fully qualified path to specify the expected types | 
|  | | | 
|  | LL -     let guard: Guard<Arc<usize>> = s.load(); | 
|  | LL +     let guard: Guard<Arc<usize>> = <Arc<ArcSwapAny<Arc<usize>>> as Access<T>>::load(&s); | 
|  | | | 
|  |  | 
|  | error: aborting due to 1 previous error | 
|  |  | 
|  | For more information about this error, try `rustc --explain E0283`. |