$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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?