Subject: Re: [boost] VC2013 1.55 beta failures
From: Marcel Raad (raad_at_[hidden])
Date: 2013-10-22 04:38:49


Stephan T. Lavavej <stl <at> exchange.microsoft.com> writes:

>

> [Niall Douglas]

> > apart from Boost.Config having to turn off variadic templates

> > on VS2013 due to breakage in Boost.Signals2 and a few other

> > minor places, it was all looking very good indeed in the RC.

>

> Argh. Have any MS Connect bugs been filed to track those variadic
template problems? I wasn't aware that

> Boost had to turn them off - that's a big deal.

I have finally found the issue. signals2::slot has 2 constructors:

slot<F>(const F &f)

{

 init_slot_function(f);

}

slot<BindArgs...>(const BindArgs &...args)

{

 init_slot_function(boost::bind(args...));

}

MSVC12 always chooses the variadic constructor, so calling it with
boost::bind(...) always tries to call boost::bind(boost::bind(...)).

If I understand the example in 14.8.2.4.8 of the January 2012 working draft
correctly, it should be the other way around, shouldn't it?