I think the Google guideline is pretty close to what a WebKit guideline would
be. The explicit keyword should almost always be used when a constructor is
creating an object and not just converting type from one to another. Leaving
out the explicit keyword should be thought of as equivalent to defining a
conversion operator, albeit working in the opposite direction.
The AtomicString example Adam Barth cited is a problematic one. The cost of
making an AtomicString from a String is high enough that having the conversion
be implicit might be a mistake! But it was intentional
I think the best way for us to clarify our guideline for this would be to
discuss a few individual cases where we have a non-explicit constructor. We can
talk about why they are not explicit and see if we find they are just bugs or
show a principle at work.
-- Darin
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev