)]}'
{
  "commit": "5e469419dc4660e38ae81027decf65ab37b4ba9f",
  "tree": "b69c9d3adfdb58aafc5df7ecbb6bea394a4da895",
  "parents": [
    "e25150972a8bd079503b73602946be3b1a41d2ee"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Thu Dec 05 14:16:25 2019 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Dec 05 14:17:04 2019 -0800"
  },
  "message": "Fix gcc compilation error.\n\nQUICHE fails to compile with gcc with the following error message:\n\nquic/core/quic_crypto_stream.cc: In constructor \u0027QuicCryptoStream::QuicCryptoStream(QuicSession*)\u0027:\nquic/core/quic_crypto_stream.cc:39:52: error: use of deleted function \u0027QuicCryptoStream::CryptoSubstream::CryptoSubstream(QuicCryptoStream::CryptoSubstream\u0026\u0026)\u0027\n                   {this, ENCRYPTION_FORWARD_SECURE}} {\n                                                    ^\nIn file included from quic/core/quic_crypto_stream.cc:5:\nquic/core/quic_crypto_stream.h:158:30: note: \u0027QuicCryptoStream::CryptoSubstream::CryptoSubstream(QuicCryptoStream::CryptoSubstream\u0026\u0026)\u0027 is implicitly deleted because the default definition would be ill-formed:\n   struct QUIC_EXPORT_PRIVATE CryptoSubstream {\n                              ^~~~~~~~~~~~~~~\nquic/core/quic_crypto_stream.h:158:30: error: use of deleted function \u0027QuicStreamSendBuffer::QuicStreamSendBuffer(QuicStreamSendBuffer\u0026\u0026)\u0027\nIn file included from quic/core/quic_stream.h:27,\n                 from quic/core/quic_crypto_stream.h:15,\n                 from quic/core/quic_crypto_stream.cc:5:\nquic/core/quic_stream_send_buffer.h:65:3: note: declared here\n   QuicStreamSendBuffer(QuicStreamSendBuffer\u0026\u0026 other) \u003d delete;\n   ^~~~~~~~~~~~~~~~~~~~\n\nThis CL changes QuicCryptoStrem::substreams_ type from array to std::array, and\nuses aggregate initialization instead of initializer list as required for\nstd::array.  See also\nhttps://stackoverflow.com/questions/8192185/using-stdarray-with-initialization-lists\n\nI manually confirmed that this compiles in Chromium using clang, and compiles in\nEnvoy using either gcc or clang.  I have no idea why.\n\ngfe-relnote: n/a, no functional change.\nPiperOrigin-RevId: 284051434\nChange-Id: I936020d8847e8109e73b9ffe1493ca1b74e159dc\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e22e830d3810d3fdd99024f5e1ef51aeced93767",
      "old_mode": 33188,
      "old_path": "quic/core/quic_crypto_stream.cc",
      "new_id": "3bc94e8628b70c629941dae9739685c2379a8a36",
      "new_mode": 33188,
      "new_path": "quic/core/quic_crypto_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "357303a65bbf26b2e2d5daab71114dc0ed96078a",
      "old_mode": 33188,
      "old_path": "quic/core/quic_crypto_stream.h",
      "new_id": "10b0b53af9938dfcbca53b8f11ebced33e79d585",
      "new_mode": 33188,
      "new_path": "quic/core/quic_crypto_stream.h"
    }
  ]
}
