]>
git.proxmox.com Git - rustc.git/blob - tests/codegen-units/item-collection/trait-implementations.rs
1 // compile-flags:-Zprint-mono-items=eager -Zinline-mir=no
8 fn bar
<T
>(&self, x
: T
);
11 impl SomeTrait
for i64 {
13 //~ MONO_ITEM fn <i64 as SomeTrait>::foo
16 fn bar
<T
>(&self, _
: T
) {}
19 impl SomeTrait
for i32 {
21 //~ MONO_ITEM fn <i32 as SomeTrait>::foo
24 fn bar
<T
>(&self, _
: T
) {}
27 pub trait SomeGenericTrait
<T
> {
29 fn bar
<T2
>(&self, x
: T
, y
: T2
);
32 // Concrete impl of generic trait
33 impl SomeGenericTrait
<u32> for f64 {
35 //~ MONO_ITEM fn <f64 as SomeGenericTrait<u32>>::foo
36 fn foo(&self, _
: u32) {}
38 fn bar
<T2
>(&self, _
: u32, _
: T2
) {}
41 // Generic impl of generic trait
42 impl<T
> SomeGenericTrait
<T
> for f32 {
44 fn foo(&self, _
: T
) {}
45 fn bar
<T2
>(&self, _
: T
, _
: T2
) {}
48 //~ MONO_ITEM fn start
50 fn start(_
: isize, _
: *const *const u8) -> isize {
51 //~ MONO_ITEM fn <i32 as SomeTrait>::bar::<char>
54 //~ MONO_ITEM fn <f64 as SomeGenericTrait<u32>>::bar::<&str>
55 0f64.bar(0u32, "&str");
57 //~ MONO_ITEM fn <f64 as SomeGenericTrait<u32>>::bar::<()>
60 //~ MONO_ITEM fn <f32 as SomeGenericTrait<char>>::foo
63 //~ MONO_ITEM fn <f32 as SomeGenericTrait<i64>>::foo
66 //~ MONO_ITEM fn <f32 as SomeGenericTrait<u32>>::bar::<()>
69 //~ MONO_ITEM fn <f32 as SomeGenericTrait<&str>>::bar::<&str>
70 0f32.bar("&str", "&str");