)]}'
{
  "commit": "3eebdc8c04a1efd2cd4d59244d2261258d8ef838",
  "tree": "7be336cb2bfd34e6a8c844b868efb4332aba9c4f",
  "parents": [
    "6a5726eac514b49ec8a9f8360ed5d0d73da9feb7"
  ],
  "author": {
    "name": "Emilio Cobos Álvarez",
    "email": "emilio@crisal.io",
    "time": "Sat Nov 28 01:33:32 2020 +0100"
  },
  "committer": {
    "name": "Emilio Cobos Álvarez",
    "email": "emilio@crisal.io",
    "time": "Sat Nov 28 01:36:39 2020 +0100"
  },
  "message": "struct_layout: Fix field offset computation for packed(n) structs.\n\nThis can cause unnecessary padding to be computed otherwise at the end\nof the struct.\n\nWith repr(packed(n)), a field can have padding to adjacent fields as\nlong as its alignment is less than n. So reuse the code we have to align\nto a field layout, aligning to the struct layout instead.\n\nFixes #1934\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "15aea22a0a0b7055476c9acfea5a27554db49ada",
      "old_mode": 33188,
      "old_path": "src/codegen/mod.rs",
      "new_id": "0d93c49193849b362b892ab505eb3978babf7372",
      "new_mode": 33188,
      "new_path": "src/codegen/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "54dfd86efa4d26f0e408c5c6496cf7aaf84486e2",
      "old_mode": 33188,
      "old_path": "src/codegen/struct_layout.rs",
      "new_id": "4536e889af43dffb851636e61fa0bc908c480e5d",
      "new_mode": 33188,
      "new_path": "src/codegen/struct_layout.rs"
    },
    {
      "type": "modify",
      "old_id": "22c124fa36a31894525cf1564ebe80c12ae71804",
      "old_mode": 33188,
      "old_path": "src/ir/comp.rs",
      "new_id": "1d257d20b299cbe405b8f53b0d9f0f5c7cbd98e4",
      "new_mode": 33188,
      "new_path": "src/ir/comp.rs"
    },
    {
      "type": "modify",
      "old_id": "1366548ea7ecc3d5da0a1c2d50d6a3297ba9a947",
      "old_mode": 33188,
      "old_path": "tests/expectations/tests/divide-by-zero-in-struct-layout.rs",
      "new_id": "1484719b9cd7897d24cd27192653be03f2dfbe5a",
      "new_mode": 33188,
      "new_path": "tests/expectations/tests/divide-by-zero-in-struct-layout.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "13cb030620ae34a1de89227f18952554947d6e4d",
      "new_mode": 33188,
      "new_path": "tests/expectations/tests/packed-n-with-padding.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8a6233b52b52657ae9e45b455c7f2306fab03e2c",
      "new_mode": 33188,
      "new_path": "tests/headers/packed-n-with-padding.h"
    }
  ]
}
