2018-08-30 07:18:55 -05:00
|
|
|
// run-pass
|
2018-08-31 08:02:01 -05:00
|
|
|
#![allow(non_upper_case_globals)]
|
|
|
|
|
2014-07-22 04:27:46 -05:00
|
|
|
// Check that the 'static bound on a proc influences lifetimes of
|
|
|
|
// region variables contained within (otherwise, region inference will
|
|
|
|
// give `x` a very short lifetime).
|
|
|
|
|
2015-03-22 15:13:15 -05:00
|
|
|
// pretty-expanded FIXME #23616
|
|
|
|
|
2015-03-25 19:06:52 -05:00
|
|
|
static i: usize = 3;
|
2014-11-26 07:12:18 -06:00
|
|
|
fn foo<F:FnOnce()+'static>(_: F) {}
|
2015-03-25 19:06:52 -05:00
|
|
|
fn read(_: usize) { }
|
2014-07-22 04:27:46 -05:00
|
|
|
pub fn main() {
|
|
|
|
let x = &i;
|
2014-11-26 07:12:18 -06:00
|
|
|
foo(move|| {
|
2014-07-22 04:27:46 -05:00
|
|
|
read(*x);
|
|
|
|
});
|
|
|
|
}
|