Subject: Re: [boost] [type_erasure]bug:any(, binding<Concept>) can store wrong type
From: Larry Evans (cppljevans_at_[hidden])
Date: 2012-08-20 07:00:57
On 08/14/12 09:37, Larry Evans wrote:
> On 08/13/12 11:16, Steven Watanabe wrote:
>> On 08/13/2012 09:06 AM, Larry Evans wrote:
>>> The attached runs OK without any compile or runtime errors.
>>> It seems to create a type_uns<1> from a type_uns<0> although
>>> there's no type_uns<1> CTOR for that.
>>> This sounds like another instance of the bug reported here:
>>> Is it?
>> It's similar, but this is really undefined behavior,
>> since there's no way to detect the problem at compile
>> time. It's also not necessarily possible to add an
> What about detecting this "wrong type store" problem at run-time?
> To diagnose the "wrong type store" in the example program attached,
> maybe a binary visitor, something with a signature like the
> same_concrete in the attached, could be used.
OOPS. same_concrete just takes binding<Concept> args, which
contain no data on which to visit. They just contain the
function table :(
Sorry for noise.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk