broken interaction between marker traits, lifetimes, and caching #102360
Labels
A-trait-system
Area: Trait system
C-bug
Category: This is a bug.
T-types
Relevant to the types team, which will review and decide on the PR/issue.
rust/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs
Line 44 in d9297d2
erases all lifetimes for caching, including
'static
.rust/compiler/rustc_trait_selection/src/traits/select/mod.rs
Line 221 in d9297d2
rust/compiler/rustc_trait_selection/src/traits/select/mod.rs
Line 2289 in d9297d2
rust/compiler/rustc_trait_selection/src/traits/select/mod.rs
Lines 1026 to 1036 in d9297d2
changes the evaluation result depending on whether there are any erased regions in the predicate, excluding
'static
.rust/compiler/rustc_trait_selection/src/traits/select/mod.rs
Line 1753 in d9297d2
selection only drops allowed-to-overlap candidate if the other resulted in
EvaluatedToOk
.This means that depending on the order of evaluation, marker traits can either succeed or result in ambiguity
The text was updated successfully, but these errors were encountered: