// #target: macos-x64 module test; struct Foo {int x;} fn void Foo.test(&self) {} fn void double.test_double(self) {} typedef Bar = void*; fn void Bar.test(&self) {} typedef Baz = Foo; fn void Baz.test1(&self) {} typedef Qux = inline Foo; fn void Qux.test2(&self) {} fn int main(int argv, ZString* c) { String[] s0 = Foo*.methodsof; String[] s1 = int.methodsof; String[] s2 = double.methodsof; String[] s3 = Bar.methodsof; String[] s4 = Baz.methodsof; String[] s5 = Qux.methodsof; return 0; } /* #expect: test.ll @.str = private unnamed_addr constant [12 x i8] c"test_double\00", align 1 @.__const = private unnamed_addr constant [1 x %"char[]"] [%"char[]" { ptr @.str, i64 11 }], align 16 @.str.1 = private unnamed_addr constant [5 x i8] c"test\00", align 1 @.__const.2 = private unnamed_addr constant [1 x %"char[]"] [%"char[]" { ptr @.str.1, i64 4 }], align 16 @.str.3 = private unnamed_addr constant [6 x i8] c"test1\00", align 1 @.__const.4 = private unnamed_addr constant [1 x %"char[]"] [%"char[]" { ptr @.str.3, i64 5 }], align 16 @.str.5 = private unnamed_addr constant [6 x i8] c"test2\00", align 1 @.str.6 = private unnamed_addr constant [5 x i8] c"test\00", align 1 @.__const.7 = private unnamed_addr constant [2 x %"char[]"] [%"char[]" { ptr @.str.5, i64 5 }, %"char[]" { ptr @.str.6, i64 4 }], align 16