error[E0119]: conflicting implementations of trait `PointerLike` for type `&LocalSizedType` --> $DIR/pointer-like-impl-rules.rs:60:1 | LL | impl PointerLike for &LocalSizedType {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: conflicting implementation in crate `core`: - impl PointerLike for &T; error[E0119]: conflicting implementations of trait `PointerLike` for type `Box` --> $DIR/pointer-like-impl-rules.rs:68:1 | LL | impl PointerLike for Box {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: conflicting implementation in crate `alloc`: - impl PointerLike for Box; error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:9:1 | LL | impl PointerLike for NotReprTransparent {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the struct `NotReprTransparent` is not `repr(transparent)` error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:23:1 | LL | impl PointerLike for FieldIsNotPl {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the field `0` of struct `FieldIsNotPl` does not implement `PointerLike` error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:29:1 | LL | impl PointerLike for GenericFieldIsNotPl {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the field `0` of struct `GenericFieldIsNotPl` does not implement `PointerLike` error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:39:1 | LL | impl PointerLike for IsZeroSized {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the struct `IsZeroSized` is `repr(transparent)`, but does not have a non-trivial field (it is zero-sized) error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:44:1 | LL | impl PointerLike for dyn SomeTrait {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: types of dynamic or unknown size may not implement `PointerLike` error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:51:1 | LL | impl PointerLike for ExternType {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: types of dynamic or unknown size may not implement `PointerLike` error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:64:1 | LL | impl PointerLike for &LocalUnsizedType {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: references to dynamically-sized types are too large to be `PointerLike` error: implementation must be applied to type that has the same ABI as a pointer, or is `repr(transparent)` and whose field is `PointerLike` --> $DIR/pointer-like-impl-rules.rs:72:1 | LL | impl PointerLike for Box {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: boxes of dynamically-sized types are too large to be `PointerLike` error: aborting due to 10 previous errors For more information about this error, try `rustc --explain E0119`.