Boost logo

Boost :

Subject: Re: [boost] VC2013 1.55 beta failures
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2013-10-22 14:50:40

[Marcel Raad]
> slot<F>(const F &f)
> slot<BindArgs...>(const BindArgs &...args)
> MSVC12 always chooses the variadic constructor

Wow, that's a bug. I've filed DevDiv#807268 "meow(const T&) should be considered to be more specialized than meow(const Args&...)" in our internal database with a reduced repro:

C:\Temp>type meow.cpp
#include <stdio.h>

template <typename T> void meow(const T&) {
    puts("meow(const T&), GOOD");

template <typename... Args> void meow(const Args&...) {
    puts("meow(const Args&...), BAD");

int main() {

C:\Temp>cl /EHsc /nologo /W4 meow.cpp

meow(const Args&...), BAD


Boost list run by bdawes at, gregod at, cpdaniel at, john at