https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97843
Bug ID: 97843 Summary: Bad code gen when concatenating to array Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: d Assignee: ibuclaw at gdcproject dot org Reporter: alex at sunopti dot com Target Milestone: --- This code: import std.stdio; ubyte sum(ubyte[] bytes) { ubyte result; foreach(x;bytes) result += x; return result; } int main() { ubyte[] bytes = [0,1]; bytes ~= bytes.sum; writefln("sum = %s",bytes[$-1]); return 0; } Expected output : sum = 1 as confirmed at https://dlang.org/ your code here Actual output : sum = <random number>