File tree 2 files changed +41
-11
lines changed
2 files changed +41
-11
lines changed Original file line number Diff line number Diff line change @@ -1033,17 +1033,22 @@ impl<'a> LoweringContext<'a> {
1033
1033
_ => None ,
1034
1034
} ) ,
1035
1035
|this| {
1036
- hir:: TyBareFn ( P ( hir:: BareFnTy {
1037
- generic_params : this. lower_generic_params (
1038
- & f. generic_params ,
1039
- & NodeMap ( ) ,
1040
- ImplTraitContext :: Disallowed ,
1041
- ) ,
1042
- unsafety : this. lower_unsafety ( f. unsafety ) ,
1043
- abi : f. abi ,
1044
- decl : this. lower_fn_decl ( & f. decl , None , false ) ,
1045
- arg_names : this. lower_fn_args_to_names ( & f. decl ) ,
1046
- } ) )
1036
+ this. with_anonymous_lifetime_mode (
1037
+ AnonymousLifetimeMode :: PassThrough ,
1038
+ |this| {
1039
+ hir:: TyBareFn ( P ( hir:: BareFnTy {
1040
+ generic_params : this. lower_generic_params (
1041
+ & f. generic_params ,
1042
+ & NodeMap ( ) ,
1043
+ ImplTraitContext :: Disallowed ,
1044
+ ) ,
1045
+ unsafety : this. lower_unsafety ( f. unsafety ) ,
1046
+ abi : f. abi ,
1047
+ decl : this. lower_fn_decl ( & f. decl , None , false ) ,
1048
+ arg_names : this. lower_fn_args_to_names ( & f. decl ) ,
1049
+ } ) )
1050
+ } ,
1051
+ )
1047
1052
} ,
1048
1053
) ,
1049
1054
TyKind :: Never => hir:: TyNever ,
Original file line number Diff line number Diff line change
1
+ // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // Regression test for #51008 -- the anonymous lifetime in `&i32` was
12
+ // being incorrectly considered part of the "elided lifetimes" from
13
+ // the impl.
14
+ //
15
+ // run-pass
16
+
17
+ #![ feature( rust_2018_preview) ]
18
+
19
+ trait A {
20
+
21
+ }
22
+
23
+ impl < F > A for F where F : PartialEq < fn ( & i32 ) > { }
24
+
25
+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments