2018-08-30 14:18:55 +02:00
|
|
|
// run-pass
|
2018-08-31 15:02:01 +02:00
|
|
|
#![allow(non_upper_case_globals)]
|
2018-09-04 14:33:34 +02:00
|
|
|
#![allow(overflowing_literals)]
|
2015-03-22 13:13:15 -07:00
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
fn foo() -> isize {
|
2012-11-06 17:13:52 -08:00
|
|
|
return 0xca7f000d;
|
|
|
|
}
|
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
struct Bar<F> where F: FnMut() -> isize { f: F }
|
2012-11-06 17:13:52 -08:00
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
static mut b : Bar<fn() -> isize> = Bar { f: foo as fn() -> isize};
|
2012-11-06 17:13:52 -08:00
|
|
|
|
2013-02-01 19:43:17 -08:00
|
|
|
pub fn main() {
|
2014-02-21 20:31:50 +01:00
|
|
|
unsafe { assert_eq!((b.f)(), 0xca7f000d); }
|
2013-02-14 11:47:00 -08:00
|
|
|
}
|