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