On Mon, Nov 12, 2012 at 8:37 PM, Jeff Walden <jwalden+...@mit.edu> wrote:

> We ended up removing the nested |using| above and making all SpiderMonkey
> headers qualify everything with mozilla::.  We use few enough things from
> mozilla:: so far that we switched to |using mozilla::RangedPtr| and so on
> in .cpp files and didn't think twice.  The patch itself was pretty big and
> annoying, but at least we won't have these issues in the future.
>

Why is "using mozilla::RangedPtr" required; is "RangedPtr" ambiguous?

Concerning the DOM nsDocument case, one possible solution might be to refer
> to those symbols with a still-qualified but not fully-qualified name.  Type
> inference code uses types:: without much pain; Ion code uses ion:: (inside
> the js namespace) without much pain, either.
>

These seem like fine solutions.

For another data point, WebKit's WTF headers include |using WTF::Vector|
> and such at the bottom of them, and I have seen grumbling and/or regrets
> about this decision, as it's caused issues with name conflicts with some of
> Google's gtest framework.
>

I think everyone agrees that all kinds of "using" declarations in headers
are disallowed.

Rob
-- 
Jesus called them together and said, “You know that the rulers of the
Gentiles lord it over them, and their high officials exercise authority
over them. Not so with you. Instead, whoever wants to become great among
you must be your servant, and whoever wants to be first must be your
slave — just
as the Son of Man did not come to be served, but to serve, and to give his
life as a ransom for many.” [Matthew 20:25-28]
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to