DescriptionMake handle ctors explicit
Without this change, the v8::Local<> constructor will be picked up by the
compiler as an option for an implicit cast for any pointer type. This leads
to bad error messages when accidentally passing an erroneous pointer type to
a function wanting a Local<> (complains about a pointer assignment in Local<>'s
constructor as opposed to a bad type for the parameter of the function being
called) and also causes ambiguity errors where none should exist when calling
overloaded functions (for example a function taking either a std::string or a
v8::Local<v8::Script> cannot be called with a const char * because the compiler
sees both types as being constructable with a const char *).
R=jochen@chromium.org
BUG=
Committed: https://crrev.com/b6c9b70356ca4d2d36424a384290baaa7ba85207
Cr-Commit-Position: refs/heads/master@{#33602}
Patch Set 1 #Patch Set 2 : Updated v8::Local<T>::Local(T*) constructor to be explicit #Patch Set 3 : same change but to persistent constructor #Messages
Total messages: 17 (5 generated)
|