-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
we could add a release note: Due to a bug in VS 2015 Update 2 boost.lockfree might
trigger error C2338.
This is not a bug. I think I've explained this sufficiently.
I think I agree with Tim on this. The code is valid according to the standard, and the compiler rejects it.
But it's not a bug if it is done on purpose.
The behavior contradicts the standard and therefore is a bug. The intention doesn't matter.
* msvc had a bug * boost.lockfree didn't trigger the bug * msvc fixed the bug, rejecting valid code which didn't trigger a bug * from the point of view of boost.lockfree this is a regression - -- it is perfectly fine to introduce one bug (even a regression) on purpose in order to fix another. i can absolutely understand the rationale behind it. however the wording that "This is not a bug" and "If this has already been fixed in 1.61.0, then that's great" is unprofessional: it implies that the behavior is standard-compliant and that the user code (boost.lockfree) contains a bug, while in truth boost.lockfree would have to work around a compiler bug. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXM3dBAAoJEAIkvWiom07DE0EP+wYPfJGwIDUAkn1sT44ZSqCb 6HKRev1I7zpBFmYuP8QDaMb5w22e9tvQeu/NQyxjsc8G+5viRRofyC876CKPCulc q8e8SURZJPDSX4GivTw2Tjgqnaa6XJXVqKSJv1otv/4clWGuIKpTgki1N5IhOwjS eSzZwKV20GAdLbMBjPwncMVL9urkZVN0sAqqF5Fp3VDAUN3m/bbfqDWMh1PRAZfZ 0WB7Rt9gXFaPQm73qCyDSIwB+X2PawBuxDneXmLP3L9oEdPrRxuVHE6AAA/YshtI Ssewh1kut7U6+hxgdI+nUTWC1nWsvAc14g643GBO9Xtgzs3/tSllVtylJnXfFv/U MOp29pVLfzglkMvZvBoraqpH9HiEv1OSP4PfUT+bBdoeazf3/y2Qhec8zXwq/T5v ur+qT7iwncqD4qs2a4uXORfEE7GegTFWbVDRstgqq9zGqGcpdM9ZY/8egkegFcDT K1Cgsa/Jm8vYMQX9Fb7yJb2OyR5/mSE8ZmOhnGwCMEgIo2jukB06vVsVQBTcssCc thPLhp0BErVqytH49IGLC0zGa1dTQ+3ziRwSf74lwQ9r9vL7/fUNAEW/r2RU2/OI IJahMj138ntr7bpU5VkNpFcV1cLOR/C5XtA0MDcIgBkHqZORVh19QuK8Fn8hDIlW 8FALeaj1Qohs6okCTF6Q =3Duz -----END PGP SIGNATURE-----