File tree Expand file tree Collapse file tree 2 files changed +9
-8
lines changed
branches/beta/src/librustc/middle Expand file tree Collapse file tree 2 files changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
23
23
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
24
24
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
25
25
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26
- refs/heads/beta: fda9b8396057426e86409fd75c69d896b05c372e
26
+ refs/heads/beta: ad700abea4c6718628a4ceccccdad6a633f1dd9c
27
27
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
28
28
refs/heads/tmp: 370fe2786109360f7c35b8ba552b83b773dd71d6
29
29
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
Original file line number Diff line number Diff line change @@ -6233,13 +6233,18 @@ impl<'tcx> ctxt<'tcx> {
6233
6233
/// themselves. This should really be a unique type; `FreshTy(0)` is a
6234
6234
/// popular choice.
6235
6235
///
6236
+ /// NB: in some cases, particularly around higher-ranked bounds,
6237
+ /// this function returns a kind of conservative approximation.
6238
+ /// That is, all regions returned by this function are definitely
6239
+ /// required, but there may be other region bounds that are not
6240
+ /// returned, as well as requirements like `for<'a> T: 'a`.
6241
+ ///
6236
6242
/// Requires that trait definitions have been processed so that we can
6237
6243
/// elaborate predicates and walk supertraits.
6238
6244
pub fn required_region_bounds ( & self ,
6239
6245
erased_self_ty : Ty < ' tcx > ,
6240
6246
predicates : Vec < ty:: Predicate < ' tcx > > )
6241
- -> Vec < ty:: Region >
6242
- {
6247
+ -> Vec < ty:: Region > {
6243
6248
debug ! ( "required_region_bounds(erased_self_ty={:?}, predicates={:?})" ,
6244
6249
erased_self_ty,
6245
6250
predicates) ;
@@ -6268,11 +6273,7 @@ impl<'tcx> ctxt<'tcx> {
6268
6273
// construct such an object, but this seems
6269
6274
// correct even if that code changes).
6270
6275
if t == erased_self_ty && !r. has_escaping_regions ( ) {
6271
- if r. has_escaping_regions ( ) {
6272
- Some ( ty:: ReStatic )
6273
- } else {
6274
- Some ( r)
6275
- }
6276
+ Some ( r)
6276
6277
} else {
6277
6278
None
6278
6279
}
You can’t perform that action at this time.
0 commit comments