minor effects
cleanups
This commit is contained in:
parent
249cf71f11
commit
ec77db83b2
@ -1668,7 +1668,6 @@ fn lower_generics<T>(
|
|||||||
}),
|
}),
|
||||||
)),
|
)),
|
||||||
)),
|
)),
|
||||||
// FIXME(effects) we might not need a default.
|
|
||||||
default: Some(default_ct),
|
default: Some(default_ct),
|
||||||
is_host_effect: true,
|
is_host_effect: true,
|
||||||
synthetic: true,
|
synthetic: true,
|
||||||
|
@ -253,32 +253,6 @@ pub fn lower_generic_args<'tcx: 'a, 'a>(
|
|||||||
match (args_iter.peek(), params.peek()) {
|
match (args_iter.peek(), params.peek()) {
|
||||||
(Some(&arg), Some(¶m)) => {
|
(Some(&arg), Some(¶m)) => {
|
||||||
match (arg, ¶m.kind, arg_count.explicit_late_bound) {
|
match (arg, ¶m.kind, arg_count.explicit_late_bound) {
|
||||||
(
|
|
||||||
GenericArg::Const(hir::ConstArg {
|
|
||||||
is_desugared_from_effects: true,
|
|
||||||
..
|
|
||||||
}),
|
|
||||||
GenericParamDefKind::Const { is_host_effect: false, .. }
|
|
||||||
| GenericParamDefKind::Type { .. }
|
|
||||||
| GenericParamDefKind::Lifetime,
|
|
||||||
_,
|
|
||||||
) => {
|
|
||||||
// FIXME(effects): this should be removed
|
|
||||||
// SPECIAL CASE FOR DESUGARED EFFECT PARAMS
|
|
||||||
// This comes from the following example:
|
|
||||||
//
|
|
||||||
// ```
|
|
||||||
// #[const_trait]
|
|
||||||
// pub trait PartialEq<Rhs: ?Sized = Self> {}
|
|
||||||
// impl const PartialEq for () {}
|
|
||||||
// ```
|
|
||||||
//
|
|
||||||
// Since this is a const impl, we need to insert a host arg at the end of
|
|
||||||
// `PartialEq`'s generics, but this errors since `Rhs` isn't specified.
|
|
||||||
// To work around this, we infer all arguments until we reach the host param.
|
|
||||||
args.push(ctx.inferred_kind(&args, param, infer_args));
|
|
||||||
params.next();
|
|
||||||
}
|
|
||||||
(GenericArg::Lifetime(_), GenericParamDefKind::Lifetime, _)
|
(GenericArg::Lifetime(_), GenericParamDefKind::Lifetime, _)
|
||||||
| (
|
| (
|
||||||
GenericArg::Type(_) | GenericArg::Infer(_),
|
GenericArg::Type(_) | GenericArg::Infer(_),
|
||||||
|
Loading…
Reference in New Issue
Block a user