{"action":"created","issue":{"url":"https://api.github.com/repos/mosra/magnum/issues/96","labels_url":"https://api.github.com/repos/mosra/magnum/issues/96/labels{/name}","comments_url":"https://api.github.com/repos/mosra/magnum/issues/96/comments","events_url":"https://api.github.com/repos/mosra/magnum/issues/96/events","html_url":"https://github.com/mosra/magnum/issues/96","id":74633077,"number":96,"title":"MSVC 2015 port","user":{"login":"mosra","id":344828,"avatar_url":"https://avatars.githubusercontent.com/u/344828?v=3","gravatar_id":"","url":"https://api.github.com/users/mosra","html_url":"https://github.com/mosra","followers_url":"https://api.github.com/users/mosra/followers","following_url":"https://api.github.com/users/mosra/following{/other_user}","gists_url":"https://api.github.com/users/mosra/gists{/gist_id}","starred_url":"https://api.github.com/users/mosra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mosra/subscriptions","organizations_url":"https://api.github.com/users/mosra/orgs","repos_url":"https://api.github.com/users/mosra/repos","events_url":"https://api.github.com/users/mosra/events{/privacy}","received_events_url":"https://api.github.com/users/mosra/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mosra/magnum/labels/msvc","name":"msvc","color":"f7c6c7"}],"state":"open","locked":false,"assignee":{"login":"mosra","id":344828,"avatar_url":"https://avatars.githubusercontent.com/u/344828?v=3","gravatar_id":"","url":"https://api.github.com/users/mosra","html_url":"https://github.com/mosra","followers_url":"https://api.github.com/users/mosra/followers","following_url":"https://api.github.com/users/mosra/following{/other_user}","gists_url":"https://api.github.com/users/mosra/gists{/gist_id}","starred_url":"https://api.github.com/users/mosra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mosra/subscriptions","organizations_url":"https://api.github.com/users/mosra/orgs","repos_url":"https://api.github.com/users/mosra/repos","events_url":"https://api.github.com/users/mosra/events{/privacy}","received_events_url":"https://api.github.com/users/mosra/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-05-09T09:27:11Z","updated_at":"2015-06-03T13:52:42Z","closed_at":null,"body":"Support for MSVC 2013 is currently only in `compatibility` branch. I want to support MSVC 2015 in `master` to make users' lives easier (more frequent updates, less ugly workarounds...).\r\n\r\nStuff that was worked around in `compatibility` branch with ugly hacks and is known to be fixed/implemented in MSVC 2015:\r\n\r\n- `char32_t` etc. are no longer typedefs to `unsigned int` etc.\r\n- no need to use `std::array` to work around [array initialization bug](https://connect.microsoft.com/VisualStudio/feedback/details/792161/constructor-initializer-list-does-not-support-braced-init-list-form)\r\n- unrestricted unions\r\n- user-defined literals\r\n- non-static data member initializers\r\n- `noexcept`, `constexpr`\r\n- `__func__` (used in `Corrade::TestSuite`)\r\n- `std::chrono::high_resolution_clock` is now [really high-resolution](https://connect.microsoft.com/VisualStudio/feedback/details/719443/)\r\n\r\nBugs/annoyances which might still be present:\r\n\r\n- [ ] the need to explicitly specify type when calling `addTests()` in `Corrade::TestSuite`\r\n- [ ] more explicit typing needed for list-initialization in comparison with GCC/Clang\r\n- [ ] it is not possible to have multiple definitions of template alias (unlike `typedef`s)\r\n\r\nThere's still one thing left that makes the port currently impossible:\r\n\r\n- [x] It is not possible to initialize arrays in `constexpr` constructors (see Known Issues [in this blog post](http://blogs.msdn.com/b/vcblog/archive/2015/04/29/c-11-constant-expressions-in-visual-studio-2015-rc.aspx)). I'm using this rather heavily in *all* `Vector` and `Matrix` classes and thus the port would be far from clean. The blog post says that these bugs should be fixed in the final release or first update, so let's wait until that."},"comment":{"url":"https://api.github.com/repos/mosra/magnum/issues/comments/108429992","html_url":"https://github.com/mosra/magnum/issues/96#issuecomment-108429992","issue_url":"https://api.github.com/repos/mosra/magnum/issues/96","id":108429992,"user":{"login":"mosra","id":344828,"avatar_url":"https://avatars.githubusercontent.com/u/344828?v=3","gravatar_id":"","url":"https://api.github.com/users/mosra","html_url":"https://github.com/mosra","followers_url":"https://api.github.com/users/mosra/followers","following_url":"https://api.github.com/users/mosra/following{/other_user}","gists_url":"https://api.github.com/users/mosra/gists{/gist_id}","starred_url":"https://api.github.com/users/mosra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mosra/subscriptions","organizations_url":"https://api.github.com/users/mosra/orgs","repos_url":"https://api.github.com/users/mosra/repos","events_url":"https://api.github.com/users/mosra/events{/privacy}","received_events_url":"https://api.github.com/users/mosra/received_events","type":"User","site_admin":false},"created_at":"2015-06-03T13:52:42Z","updated_at":"2015-06-03T13:52:42Z","body":"The `constexpr` issue [is fixed now](http://blogs.msdn.com/b/vcblog/archive/2015/06/02/constexpr-complete-for-vs-2015-rtm-c-11-compiler-c-17-stl.aspx), so nothing should stop me from doing the port when the final version is released."}}