{"comment":{"url":"https://api.github.com/repos/thomasmoelhave/tpie/comments/13176827","html_url":"https://github.com/thomasmoelhave/tpie/commit/fd3c5dba91db984319b435eb215cf38798f42b91#commitcomment-13176827","id":13176827,"user":{"login":"antialize","id":84282,"avatar_url":"https://avatars.githubusercontent.com/u/84282?v=3","gravatar_id":"","url":"https://api.github.com/users/antialize","html_url":"https://github.com/antialize","followers_url":"https://api.github.com/users/antialize/followers","following_url":"https://api.github.com/users/antialize/following{/other_user}","gists_url":"https://api.github.com/users/antialize/gists{/gist_id}","starred_url":"https://api.github.com/users/antialize/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/antialize/subscriptions","organizations_url":"https://api.github.com/users/antialize/orgs","repos_url":"https://api.github.com/users/antialize/repos","events_url":"https://api.github.com/users/antialize/events{/privacy}","received_events_url":"https://api.github.com/users/antialize/received_events","type":"User","site_admin":false},"position":204,"line":299,"path":"tpie/pipelining/pipe_base.h","commit_id":"fd3c5dba91db984319b435eb215cf38798f42b91","created_at":"2015-09-11T07:40:58Z","updated_at":"2015-09-11T07:40:58Z","body":"Making this explicite breaks alot of code for use. We have a common use case where we do.\r\n\r\ntemplate <typename PullFactType>\r\ninline pipe_begin<tempfactory<MyNode<PullFactType>, PullFactType, int> > myNode(PullFactType pft, int x) {\r\n    return {std::move(pft), x};\r\n}\r\n\r\nMarking that constructor explicit requires me to restate the complete type. Why is this constructor marked explicit? If this is realy needed perhaps we could add some kind of wrapper, so I could do e.g.\r\n\r\ntemplate <typename PullFactType>\r\ninline pipe_begin<tempfactory<MyNode<PullFactType>, PullFactType, int> > myNode(PullFactType pft, int x) {\r\n    return make_container(std::move(pft), x);\r\n}"}}