// #target: macos-x64 module test; // Issue #1812 struct Foo { float a; String b; } struct Bar { float a; int[] b; } const Foo FOO = {.a = 1}; const Bar FOO2 = {.a = 1, .b = { 1, 3 } }; fn int main() { Foo asdf = FOO; Bar foek = FOO2; return 0; } /* #expect: test.ll @test.FOO = local_unnamed_addr constant %Foo { float 1.000000e+00, %"char[]" zeroinitializer }, align 8 @.__const_slice = private unnamed_addr global [2 x i32] [i32 1, i32 3], align 4 @test.FOO2 = local_unnamed_addr constant %Bar { float 1.000000e+00, %"int[]" { ptr @.__const_slice, i64 2 } }, align 8 entry: %asdf = alloca %Foo, align 8 %foek = alloca %Bar, align 8 call void @llvm.memcpy.p0.p0.i32(ptr align 8 %asdf, ptr align 8 @test.FOO, i32 24, i1 false) call void @llvm.memcpy.p0.p0.i32(ptr align 8 %foek, ptr align 8 @test.FOO2, i32 24, i1 false) ret i32 0 }