File tree 2 files changed +23
-12
lines changed
compiler/rustc_middle/src/ty
tests/ui/traits/associated_type_bound
2 files changed +23
-12
lines changed Original file line number Diff line number Diff line change @@ -1754,10 +1754,7 @@ impl<'tcx> ParamEnv<'tcx> {
1754
1754
1755
1755
/// Creates a suitable environment in which to perform trait
1756
1756
/// queries on the given value. When type-checking, this is simply
1757
- /// the pair of the environment plus value. But when reveal is set to
1758
- /// All, then if `value` does not reference any type parameters, we will
1759
- /// pair it with the empty environment. This improves caching and is generally
1760
- /// invisible.
1757
+ /// the pair of the environment plus value.
1761
1758
///
1762
1759
/// N.B., we preserve the environment when type-checking because it
1763
1760
/// is possible for the user to have wacky where-clauses like
@@ -1767,14 +1764,7 @@ impl<'tcx> ParamEnv<'tcx> {
1767
1764
pub fn and < T : TypeVisitable < TyCtxt < ' tcx > > > ( self , value : T ) -> ParamEnvAnd < ' tcx , T > {
1768
1765
match self . reveal ( ) {
1769
1766
Reveal :: UserFacing => ParamEnvAnd { param_env : self , value } ,
1770
-
1771
- Reveal :: All => {
1772
- if value. is_global ( ) {
1773
- ParamEnvAnd { param_env : self . without_caller_bounds ( ) , value }
1774
- } else {
1775
- ParamEnvAnd { param_env : self , value }
1776
- }
1777
- }
1767
+ Reveal :: All => ParamEnvAnd { param_env : self , value } ,
1778
1768
}
1779
1769
}
1780
1770
}
Original file line number Diff line number Diff line change
1
+ // check-pass
2
+ trait Bar < ' a > {
3
+ type Assoc : ' static ;
4
+ }
5
+
6
+ impl < ' a > Bar < ' a > for ( ) {
7
+ type Assoc = ( ) ;
8
+ }
9
+
10
+ struct ImplsStatic < CG : Bar < ' static > > {
11
+ d : & ' static <CG as Bar < ' static > >:: Assoc ,
12
+ }
13
+
14
+ fn caller ( b : ImplsStatic < ( ) > )
15
+ where
16
+ for < ' a > ( ) : Bar < ' a >
17
+ {
18
+ let _: & <( ) as Bar < ' static > >:: Assoc = b. d ;
19
+ }
20
+
21
+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments