fix accidental reversal of 'static, and add a test

This commit is contained in:
Niko Matsakis 2015-08-21 11:44:20 -04:00
parent aa469a994c
commit 10b8941bce
2 changed files with 26 additions and 1 deletions

View File

@ -93,7 +93,7 @@ impl FreeRegionMap {
let result = sub == sup || {
let sub = ty::ReFree(sub);
let sup = ty::ReFree(sup);
self.relation.contains(&sub, &sup) || self.relation.contains(&sup, &ty::ReStatic)
self.relation.contains(&sub, &sup) || self.relation.contains(&ty::ReStatic, &sup)
};
debug!("sub_free_region(sub={:?}, sup={:?}) = {:?}", sub, sup, result);
result

View File

@ -0,0 +1,25 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Test that we recognize that if you have
//
// 'a : 'static
//
// then
//
// 'a : 'b
fn test<'a,'b>(x: &'a i32) -> &'b i32
where 'a: 'static
{
x
}
fn main() { }