Skip to content

Commit e30d27b

Browse files
committed
remove is global hack
1 parent 9fbd593 commit e30d27b

2 files changed

Lines changed: 23 additions & 23 deletions

File tree

‎compiler/rustc_middle/src/ty/mod.rs‎

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,30 +1752,9 @@ impl<'tcx> ParamEnv<'tcx> {
17521752
Self::new(List::empty(),self.reveal())
17531753
}
17541754

1755-
/// Creates a suitable environment in which to perform trait
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.
1761-
///
1762-
/// N.B., we preserve the environment when type-checking because it
1763-
/// is possible for the user to have wacky where-clauses like
1764-
/// `where Box<u32>: Copy`, which are clearly never
1765-
/// satisfiable. We generally want to behave as if they were true,
1766-
/// although the surrounding function is never reachable.
1755+
/// Creates a pair of param-env and value for use in queries.
17671756
pubfnand<T:TypeVisitable<TyCtxt<'tcx>>>(self,value:T) -> ParamEnvAnd<'tcx,T>{
1768-
matchself.reveal(){
1769-
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-
}
1778-
}
1757+
ParamEnvAnd{param_env:self, value }
17791758
}
17801759
}
17811760

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// check-pass
2+
traitBar<'a>{
3+
typeAssoc:'static;
4+
}
5+
6+
impl<'a>Bar<'a>for(){
7+
typeAssoc = ();
8+
}
9+
10+
structImplsStatic<CG:Bar<'static>>{
11+
d:&'static <CGasBar<'static>>::Assoc,
12+
}
13+
14+
fncaller(b:ImplsStatic<()>)
15+
where
16+
for<'a>():Bar<'a>
17+
{
18+
let _:&<()asBar<'static>>::Assoc = b.d;
19+
}
20+
21+
fnmain(){}

0 commit comments

Comments
 (0)