Files
c3c/test/test_suite7/methods/extension_method.c3t
2025-02-23 13:53:04 +01:00

41 lines
478 B
Plaintext

module foo;
struct Bar
{
int x;
}
module baz;
import foo;
import std::io;
fn void foo::Bar.test(Bar *bar)
{
io::printn("Inside of baz::Bar.test");
}
module abc;
import foo;
import baz;
fn int main()
{
Bar bar;
bar.test();
return 0;
}
/* #expect: abc.ll
%Bar = type { i32 }
define i32 @main() #0 {
entry:
%bar = alloca %Bar, align 4
store i32 0, ptr %bar, align 4
call void @foo.Bar.test(ptr %bar)
ret i32 0
}
declare void @foo.Bar.test(ptr)