{"action":"created","issue":{"url":"https://api.github.com/repos/cplusplus/draft/issues/430","labels_url":"https://api.github.com/repos/cplusplus/draft/issues/430/labels{/name}","comments_url":"https://api.github.com/repos/cplusplus/draft/issues/430/comments","events_url":"https://api.github.com/repos/cplusplus/draft/issues/430/events","html_url":"https://github.com/cplusplus/draft/issues/430","id":54993198,"number":430,"title":"Choose whether to put a space on the left or right of `...` and apply consistently throughout library","user":{"login":"StephanTLavavej","id":4231088,"avatar_url":"https://avatars.githubusercontent.com/u/4231088?v=3","gravatar_id":"","url":"https://api.github.com/users/StephanTLavavej","html_url":"https://github.com/StephanTLavavej","followers_url":"https://api.github.com/users/StephanTLavavej/followers","following_url":"https://api.github.com/users/StephanTLavavej/following{/other_user}","gists_url":"https://api.github.com/users/StephanTLavavej/gists{/gist_id}","starred_url":"https://api.github.com/users/StephanTLavavej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StephanTLavavej/subscriptions","organizations_url":"https://api.github.com/users/StephanTLavavej/orgs","repos_url":"https://api.github.com/users/StephanTLavavej/repos","events_url":"https://api.github.com/users/StephanTLavavej/events{/privacy}","received_events_url":"https://api.github.com/users/StephanTLavavej/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-21T09:00:18Z","updated_at":"2015-01-22T17:28:57Z","closed_at":null,"body":"Search N4296 for `class ...`\r\n\r\nThere are a couple dozen occurrences of `class ... Meow` in Core, with similar function parameter packs. That's a questionable style, but not outright toxic.\r\n\r\nHowever, there are 4 occurrences of `class ...Args` in Library, which is yuck and bad and wrong. They are:\r\n\r\n30.3.1 [thread.thread.class]:\r\n`template <class F, class ...Args> explicit thread(F&& f, Args&&... args);`\r\n\r\n30.3.1.2 [thread.thread.constr]/3:\r\n`template <class F, class ...Args> explicit thread(F&& f, Args&&... args);`\r\n\r\n30.4 [thread.mutex]:\r\n```\r\ntemplate<class Callable, class ...Args>\r\n  void call_once(once_flag& flag, Callable&& func, Args&&... args);\r\n```\r\n\r\n30.4.4.2 [thread.once.callonce]:\r\n```\r\ntemplate<class Callable, class ...Args>\r\n  void call_once(once_flag& flag, Callable&& func, Args&&... args);\r\n```"},"comment":{"url":"https://api.github.com/repos/cplusplus/draft/issues/comments/71060649","html_url":"https://github.com/cplusplus/draft/issues/430#issuecomment-71060649","issue_url":"https://api.github.com/repos/cplusplus/draft/issues/430","id":71060649,"user":{"login":"StephanTLavavej","id":4231088,"avatar_url":"https://avatars.githubusercontent.com/u/4231088?v=3","gravatar_id":"","url":"https://api.github.com/users/StephanTLavavej","html_url":"https://github.com/StephanTLavavej","followers_url":"https://api.github.com/users/StephanTLavavej/followers","following_url":"https://api.github.com/users/StephanTLavavej/following{/other_user}","gists_url":"https://api.github.com/users/StephanTLavavej/gists{/gist_id}","starred_url":"https://api.github.com/users/StephanTLavavej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StephanTLavavej/subscriptions","organizations_url":"https://api.github.com/users/StephanTLavavej/orgs","repos_url":"https://api.github.com/users/StephanTLavavej/repos","events_url":"https://api.github.com/users/StephanTLavavej/events{/privacy}","received_events_url":"https://api.github.com/users/StephanTLavavej/received_events","type":"User","site_admin":false},"created_at":"2015-01-22T17:28:57Z","updated_at":"2015-01-22T17:28:57Z","body":"It's purely an aesthetic argument. In the Library, we think of `typename...` meaning \"lots of types\", regardless of how the grammar is technically formed.\r\n\r\nI see your point about Core mixing styles, and I don't think that it needs to change. If you are tempted to change Library to say `class ...Args` (which would make me regret mentioning this!), please ask the LWG reflector first, as I suspect there will be wide agreement that `class... Args` is preferable. We Library implementers have to read those clauses, after all. :->"}}