// option. This file may not be copied, modified, or distributed
// except according to those terms.
-fn select<'r>(x: &'r int, y: &'r int) -> &'r int { x }
+fn select<'r>(x: &'r isize, y: &'r isize) -> &'r isize { x }
-fn with<T, F>(f: F) -> T where F: FnOnce(&int) -> T {
+fn with<T, F>(f: F) -> T where F: FnOnce(&isize) -> T {
f(&20)
}
-fn manip<'a>(x: &'a int) -> int {
+fn manip<'a>(x: &'a isize) -> isize {
let z = with(|y| { select(x, y) });
//~^ ERROR cannot infer
*z