
On December 1, 2012 3:59:04 PM Sergey Cheban <s.cheban@drweb.com> wrote:
01.12.2012 11:20, Andrey Semashev пишет:
I disagree. If CTP is not an indication of a feature support in the official compiler, why should we support it? Because this will allow us to test the implementation of the new compiler features as early as possible. For example, if the decltype support had been tested by Boost before the MSVC2012 release it would have been found buggy earlier and we wouldn't have had to add the decltype-related workaround for the VC11 to the Boost.
Earlier test -> earlier bugreport -> earlier bugfix -> no workaround.
Adding workarounds for CTP bugs is probably reasonable but not new features. OTOH the rolloing releases give new features the official status, and we can be sure they won't disappear. CTP is a preview. The community (i.e., we) should test it and tell MS about any bugs found and especially about bugs in the new features. But I don't think that we should make workarounds or support the previews in any other way.
While I welcome C++11 adoption, I don't see Boost as a testbed for MSVC or any other particular implementation. Yes, in many ways Boost is on the bleeding edge of the language so it's tempting to test against it. But Boost is just a library and it has users. And actually MS is able to build and test Boost with their compiler themselves, be that an internal build or CTP or an official release. Boost is developed by volunteers and adding another platform to the list of supported platforms increases the burden. The most obvious increase is testing on the new platform and updating configuration. Less obvious are workarounds for bugs and incomplete features in the libraries. Decltype is a good example of this: it is supported but it's "not quite there" yet, which results in more and more config macros to test for in the libraries. I'm not demanding a compllete support for every feature in every official compiler release, that's hardly possible. But supporting CTPs or betas or whatever increases the granularity of such "not quite there" things which in turn makes supporting code harder. However, I don't mind if someone volunteers to test Boost on CTP and report problems back to MS. This won't make CTP the supported platform and Boost development won't be affected. I just think it's MS's job to do the testing as long as they sell MSVC as a product.