-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-trait-systemArea: Trait systemArea: Trait systemC-bugCategory: This is a bug.Category: This is a bug.F-marker_trait_attr`#![feature(marker_trait_attr)]``#![feature(marker_trait_attr)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
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:
Metadata
Metadata
Assignees
Labels
A-trait-systemArea: Trait systemArea: Trait systemC-bugCategory: This is a bug.Category: This is a bug.F-marker_trait_attr`#![feature(marker_trait_attr)]``#![feature(marker_trait_attr)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.