// Instead, we generate `impl !Send for Foo<T>`, which better
// expresses the fact that `Foo<T>` never implements `Send`,
// regardless of the choice of `T`.
- let params = (self.cx.tcx.generics_of(param_env_def_id), &Default::default())
- .clean(self.cx).params;
+ let params = (
+ self.cx.tcx.generics_of(param_env_def_id),
+ &&self.cx.tcx.common.empty_predicates,
+ ).clean(self.cx).params;
Generics {
params,
.collect()
}
- fn make_final_bounds<'b, 'c, 'cx>(
+ fn make_final_bounds(
&self,
ty_to_bounds: FxHashMap<Type, FxHashSet<GenericBound>>,
ty_to_fn: FxHashMap<Type, (Option<PolyTrait>, Option<Type>)>,
} => {
bindings.push(TypeBinding {
name: left_name.clone(),
- ty: rhs,
+ kind: TypeBindingKind::Equality {
+ ty: rhs,
+ },
});
}
&mut GenericArgs::Parenthesized { .. } => {