lower impl const to bind to host effect param
This commit is contained in:
@@ -100,6 +100,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
ParamMode::Optional,
|
||||
ParenthesizedGenericArgs::Err,
|
||||
&ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
));
|
||||
let receiver = self.lower_expr(receiver);
|
||||
let args =
|
||||
@@ -260,6 +261,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
path,
|
||||
ParamMode::Optional,
|
||||
&ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
);
|
||||
hir::ExprKind::Path(qpath)
|
||||
}
|
||||
@@ -307,6 +309,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
&se.path,
|
||||
ParamMode::Optional,
|
||||
&ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
)),
|
||||
self.arena
|
||||
.alloc_from_iter(se.fields.iter().map(|x| self.lower_expr_field(x))),
|
||||
@@ -1179,6 +1182,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
path,
|
||||
ParamMode::Optional,
|
||||
&ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
);
|
||||
// Destructure like a tuple struct.
|
||||
let tuple_struct_pat = hir::PatKind::TupleStruct(
|
||||
@@ -1198,6 +1202,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
path,
|
||||
ParamMode::Optional,
|
||||
&ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
);
|
||||
// Destructure like a unit struct.
|
||||
let unit_struct_pat = hir::PatKind::Path(qpath);
|
||||
@@ -1222,6 +1227,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
&se.path,
|
||||
ParamMode::Optional,
|
||||
&ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
);
|
||||
let fields_omitted = match &se.rest {
|
||||
StructRest::Base(e) => {
|
||||
|
||||
Reference in New Issue
Block a user