blob: 3a85ae96f69e59fe580cbd120b29987d452af788 [file]
#![feature(no_core)]
#![feature(lang_items)]
#![no_core]
#[lang = "sized"]
trait Sized {}
pub struct Pair<A, B>(A, B);
trait Foo {
type Out<A, B>;
fn build<A, B>(self, a: A, b: B) -> Self::Out<A, B>;
}
impl Foo for i32 {
type Out<A, B> = Pair<A, B>;
fn build<A, B>(self, a: A, b: B) -> Self::Out<A, B> {
Pair(a, b)
}
}
fn main() {
let x: i32 = 1;
let _p = x.build::<i32, i64>(2, 3i64);
}