It seems like #53693 did not update the orphan checker to consider #[marker] traits.
- Suppose I have crates A, B, C.
- A defines
#[marker] trait Foo {}
- B defines
struct Bar;
- C defines
impl Foo for Bar {}
This should be OK because the overlap would actually be permitted as Foo is a #[marker] trait.
However, there might be something I've overlooked here such as impl polarity (impls_are_allowed_to_overlap) so I'm not filing a PR just now.
cc @nikomatsakis @arielb1 @scottmcm
cc #29864
References:
It seems like #53693 did not update the orphan checker to consider
#[marker]traits.#[marker] trait Foo {}struct Bar;impl Foo for Bar {}This should be OK because the overlap would actually be permitted as
Foois a#[marker]trait.However, there might be something I've overlooked here such as impl polarity (
impls_are_allowed_to_overlap) so I'm not filing a PR just now.cc @nikomatsakis @arielb1 @scottmcm
cc #29864
References: