{"action":"created","issue":{"url":"https://api.github.com/repos/Manu343726/ctti/issues/6","labels_url":"https://api.github.com/repos/Manu343726/ctti/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/Manu343726/ctti/issues/6/comments","events_url":"https://api.github.com/repos/Manu343726/ctti/issues/6/events","html_url":"https://github.com/Manu343726/ctti/issues/6","id":99827548,"number":6,"title":"Reimplement constexpr array initialization","user":{"login":"Manu343726","id":1561197,"avatar_url":"https://avatars.githubusercontent.com/u/1561197?v=3","gravatar_id":"","url":"https://api.github.com/users/Manu343726","html_url":"https://github.com/Manu343726","followers_url":"https://api.github.com/users/Manu343726/followers","following_url":"https://api.github.com/users/Manu343726/following{/other_user}","gists_url":"https://api.github.com/users/Manu343726/gists{/gist_id}","starred_url":"https://api.github.com/users/Manu343726/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Manu343726/subscriptions","organizations_url":"https://api.github.com/users/Manu343726/orgs","repos_url":"https://api.github.com/users/Manu343726/repos","events_url":"https://api.github.com/users/Manu343726/events{/privacy}","received_events_url":"https://api.github.com/users/Manu343726/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-08T18:59:17Z","updated_at":"2015-08-08T19:20:56Z","closed_at":null,"body":"[STL told us on reddit](https://www.reddit.com/r/cpp/comments/3g3aa1/what_do_you_want_to_see_in_vs_2015_update_1/ctuh05h) that `constexpr` array initialization is supported by VS2015, then @foonathan noticed that our issue is not array related but about ctor delegation. I would like to change the implementation of `ctti::detail::array` and `ctti::detail::string` to not apply the indices trick in a constructor but in an independent function, then pass array contents as a variadic pack."},"comment":{"url":"https://api.github.com/repos/Manu343726/ctti/issues/comments/129039667","html_url":"https://github.com/Manu343726/ctti/issues/6#issuecomment-129039667","issue_url":"https://api.github.com/repos/Manu343726/ctti/issues/6","id":129039667,"user":{"login":"Manu343726","id":1561197,"avatar_url":"https://avatars.githubusercontent.com/u/1561197?v=3","gravatar_id":"","url":"https://api.github.com/users/Manu343726","html_url":"https://github.com/Manu343726","followers_url":"https://api.github.com/users/Manu343726/followers","following_url":"https://api.github.com/users/Manu343726/following{/other_user}","gists_url":"https://api.github.com/users/Manu343726/gists{/gist_id}","starred_url":"https://api.github.com/users/Manu343726/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Manu343726/subscriptions","organizations_url":"https://api.github.com/users/Manu343726/orgs","repos_url":"https://api.github.com/users/Manu343726/repos","events_url":"https://api.github.com/users/Manu343726/events{/privacy}","received_events_url":"https://api.github.com/users/Manu343726/received_events","type":"User","site_admin":false},"created_at":"2015-08-08T19:20:56Z","updated_at":"2015-08-08T19:20:56Z","body":"Well, the behavior is still a bit surprising for me. When storing arrays into the executable, the whole 256 array with tens of `\\0`es is stored, but in the examples I have run most substrings are handled by pushing characters directly onto the stack prior to the function call that will use the string. I don't know the criteria both gcc and clang use to make this distinction.\r\nOTOH I still haven't examined MSVC assembly. It's too soon to have an opinion I think. I would like to do more tests.\r\n\r\nAnyway, I don't like the idea of exposing `string` to the user too. If arrays work, I will continue with the `const char*` interface."}}