-
Aleksei Koziatinskii authored
In the C++20 a following paper was implemented [1]. This paper makes code below illformed. The high level idea is that as soon as class gets non default constructor - all default initializations are not added implicitly. class A { public: A(const A&) = delete; }; int main() { A a{}; return 0; } So if V8 embedder is building its code with C++20 it can not initialize v8::CppHeapCreateParams struct and as a result can not create a CppHeap. One of the possible mitigations (3.3) from the paper is to add non copyable field into class. Luckily there is std::vector<std::unique_ptr>> in this class already. [1] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1008r1.pdf Change-Id: I8a2dc35784d7646b5f73a5e178716e9bf2ffe601 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3348007Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/main@{#78504}
a66b09e5