// ReScope(63u32))
//
// This is a regression test for issue #17021.
+//
+// compile-flags: -g
-#![feature(unboxed_closures, overloaded_calls)]
+#![feature(unboxed_closures)]
use std::ptr;
-pub fn replace_map<'a, T, F>(src: &mut T, prod: F)
-where F: |: T| -> T {
+pub fn replace_map<'a, T, F>(src: &mut T, prod: F) where F: FnOnce(T) -> T {
unsafe { *src = prod(ptr::read(src as *mut T as *const T)); }
}