[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] Re: [Monotone-debian] Bug#455646: FTBFS with GCC 4.3: m
From: |
Zack Weinberg |
Subject: |
[Monotone-devel] Re: [Monotone-debian] Bug#455646: FTBFS with GCC 4.3: missing #includes |
Date: |
Fri, 14 Dec 2007 12:03:48 -0800 |
On Dec 14, 2007 9:31 AM, brian m. carlson
<address@hidden> wrote:
>
> Yeah. I can see why it's an error, but I'm not sure it's a prudent
> thing to do. But basically, the rationale as I see it is that within a
> scope, one name is supposed to refer to one type or symbol, and here it
> refers to two, which is not allowed by GCC.
After a depressingly long interval with the delta-minimizer, I can now
comprehend what you mean. This is a minimized version of the code
within Monotone itself that provokes the error:
class set;
struct a_scalar
{
void set(set);
};
My initial reaction was that the top-level 'class set' and the
function 'a_scalar::set' are *not* in the same scope, but on further
thinking, they are -- within 'struct a_scalar' itself. Is that right?
If so I suppose I can justify changing the name of a_scalar::set.
(We can't change the other one - that's really std::set, and taking
out the using-declaration for it would make the rest of the code
harder to read. a_scalar::set isn't used very much, so its name can
change, I suppose.)
I'm not inclined even to *attempt* this with the boost code - even if
I could get it whittled down to something where I was able to see what
was going on, I doubt I could figure out how that mapped back to a
valid change within the original!
zw