Skip to content

Invalid IR generated for a slice assign with a RHS that is a struct of size 1

test case

unit temp;

struct S
{
    var u8 a;
}

function main(): s32
{
    var S[+] sa;
    sa.length = 1;
    var S s;
    sa[] = s;
    return 0;
}     

output

error, the IR for unit temp is invalid
Call parameter type does not match function signature!
%19 = load %temp.S, ptr %0.3.0, align 1
i8 call void @llvm.memset.p0.i64(ptr %31, %temp.S %19, i64 %27, i1 false)