//@ run-pass

#![allow(non_camel_case_types)]
#![allow(dead_code)]
//@ pretty-expanded FIXME #23616

trait thing<A> {
    fn foo(&self) -> Option<A>;
}
impl<A> thing<A> for isize {
    fn foo(&self) -> Option<A> { None }
}
fn foo_func<A, B: thing<A>>(x: B) -> Option<A> { x.foo() }

struct A { a: isize }

pub fn main() {
    let _x: Option<f64> = foo_func(0);
}
