We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
stalled_on
1 parent 0e9e408 commit 0441763Copy full SHA for 0441763
src/librustc_trait_selection/traits/fulfill.rs
@@ -75,9 +75,10 @@ pub struct FulfillmentContext<'tcx> {
75
#[derive(Clone, Debug)]
76
pub struct PendingPredicateObligation<'tcx> {
77
pub obligation: PredicateObligation<'tcx>,
78
- // FIXME(eddyb) look into whether this could be a `SmallVec`.
79
- // Judging by the comment in `process_obligation`, the 1-element case
80
- // is common so this could be a `SmallVec<[TyOrConstInferVar<'tcx>; 1]>`.
+ // This is far more often read than modified, meaning that we
+ // should mostly optimize for reading speed, while modifying is not as relevant.
+ //
81
+ // For whatever reason using a boxed slice is slower than using a `Vec` here.
82
pub stalled_on: Vec<TyOrConstInferVar<'tcx>>,
83
}
84
0 commit comments