)]}'
{
  "commit": "8def196166ddd56be2e8e547d9df1c73d0ad3391",
  "tree": "ec8441fea327c7d56f92602c14bc8098908f3ded",
  "parents": [
    "f26f954105e0489b5d9963662791c29f88e3d122"
  ],
  "author": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Tue Jan 14 16:55:21 2020 +0100"
  },
  "committer": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Tue Jan 14 17:00:31 2020 +0100"
  },
  "message": "Remove ExpressionRef Move Constructor\n\nThe move constructor and move \u003doperator are not required. They make\nthe code more complex and prone to bugs. The few saved assignments\nare all trivial and are optimized away by the compiler or our\noptimizer.\n\nIn fact, there is a bug in the current move-constructor implementation\nthat occurs, for example, when moving Eigen matrices around.\n\nChange-Id: I013796495bb39f3f27677111bd0aaf49e2454e20\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1bdc3b5370758e70aac012bf502a823af83099ff",
      "old_mode": 33188,
      "old_path": "include/ceres/codegen/internal/expression_ref.h",
      "new_id": "5a13d761e2f9c6196bd08f1daa43d801e996e002",
      "new_mode": 33188,
      "new_path": "include/ceres/codegen/internal/expression_ref.h"
    },
    {
      "type": "modify",
      "old_id": "30672ad84216cb526a39f3f066d2489505d8bb9c",
      "old_mode": 33188,
      "old_path": "internal/ceres/codegen/expression_ref_test.cc",
      "new_id": "0a70d42e3f6e06b16a4aa29348ef8dd9da2e72e6",
      "new_mode": 33188,
      "new_path": "internal/ceres/codegen/expression_ref_test.cc"
    },
    {
      "type": "modify",
      "old_id": "52b7e0ba95e63875d316f619dfbfda74b9ae09cd",
      "old_mode": 33188,
      "old_path": "internal/ceres/expression_ref.cc",
      "new_id": "dda412ae96ae5027ceb3a9a9f226d795ddf8f716",
      "new_mode": 33188,
      "new_path": "internal/ceres/expression_ref.cc"
    }
  ]
}
