// A block-local value cannot supply storage for the whole enclosing region.

fn read 'r (p: &'r u32) -> u32 { return *p; }

fn run() { let x: u32 = 1; let p: 'outer = &x in { let y: u32 = 2; let q: 'inner = &y in { assert read(q) == 2; } } }
