{"action":"created","comment":{"url":"https://api.github.com/repos/ericniebler/stl2/pulls/comments/44081745","id":44081745,"diff_hunk":"@@ -7346,23 +7352,287 @@\n \n \\indexlibrary{\\idxcode{crbegin(const C\\& c)}}%\n \\begin{itemdecl}\n-template <@\\oldtxt{class}\\newtxt{_Auto}@ C> auto crbegin(const C& c) -> decltype(@\\oldoldtxt{std::}\\newtxt{ranges\\oldtxt{_v1}::}@rbegin(c));\n+template <class C> auto crbegin(const C& c) -> decltype(std::rbegin(c));\n \\end{itemdecl}\n \\begin{itemdescr}\n-\\pnum \\returns \\tcode{\\oldoldtxt{std::}\\newtxt{ranges\\oldtxt{_v1}::}rbegin(c)}.\n+\\pnum \\returns \\tcode{std::rbegin(c)}.\n \\end{itemdescr}\n \n \\indexlibrary{\\idxcode{crend(const C\\& c)}}%\n \\begin{itemdecl}\n-template <@\\oldtxt{class}\\newtxt{_Auto}@ C> auto crend(const C& c) -> decltype(@\\oldoldtxt{std::}\\newtxt{ranges\\oldtxt{_v1}::}@rend(c));\n+template <class C> auto crend(const C& c) -> decltype(std::rend(c));\n \\end{itemdecl}\n \\begin{itemdescr}\n-\\pnum \\returns \\tcode{\\oldoldtxt{std::}\\newtxt{ranges\\oldtxt{_v1}::}rend(c)}.\n+\\pnum \\returns \\tcode{std::rend(c)}.\n \\end{itemdescr}\n+}\n+\n+{\\color{newclr}\n+\\rSec2[iterator.range.begin]{\\tcode{begin}}\n+\\pnum\n+The name \\tcode{begin} denotes a customization point object\n+(\\ref{customization.point.object}). The expression\n+\\tcode{ranges::begin(E)} for a subexpression \\tcode{E} has the same\n+effects as:\n+\n+\\begin{itemize}\n+\\item\n+  \\tcode{(E).begin()} if \\tcode{E} has type\n+  \\tcode{std::initializer_list<T>} for some type \\tcode{T}.\n+\n+\\item\n+  Otherwise, \\tcode{ranges::begin((const T\\&)(E))} if \\tcode{E} is an\n+  rvalue of some type \\tcode{T}. This usage is deprecated.\n+  \\enternote This deprecated usage exists so that\n+  \\tcode{ranges::begin(E)} behaves similarly to \\tcode{std::begin(E)}\n+  as defined in C++14 when \\tcode{E} is an rvalue. \\exitnote\n+\n+\\item\n+  Otherwise, \\tcode{(E) + 0} if \\tcode{E} has array type.\n+\n+\\item\n+  Otherwise, \\tcode{(E).begin()} if it is a valid expression whose\n+  type \\tcode{I} meets the syntactic requirements of \\tcode{Iterator<I>}.\n+  If \\tcode{Iterator} is not satisfied, the program is ill-formed\n+  with no diagnostic required.\n+\n+\\item\n+  Otherwise, \\tcode{begin(E)} if it is a valid expression whose type\n+  \\tcode{I} meets the syntactic requirements of \\tcode{Iterator<I>} when\n+  overload resolution is performed in a context that includes the\n+  declaration \\tcode{void begin(auto\\&) = delete;} and does not include\n+  a declaration of \\tcode{ranges::begin}. If \\tcode{Iterator}\n+  is not satisfied, the program is ill-formed with no diagnostic\n+  required.\n+\n+\\item\n+  Otherwise, \\tcode{ranges::begin(E)} is not a valid expression and\n+  shall result in a substition failure.","path":"iterators.tex","position":262,"original_position":262,"commit_id":"36a6216b1e029a1605b30ea7cf748e0a65bb21d5","original_commit_id":"36a6216b1e029a1605b30ea7cf748e0a65bb21d5","user":{"login":"ericniebler","id":225757,"avatar_url":"https://avatars.githubusercontent.com/u/225757?v=3","gravatar_id":"","url":"https://api.github.com/users/ericniebler","html_url":"https://github.com/ericniebler","followers_url":"https://api.github.com/users/ericniebler/followers","following_url":"https://api.github.com/users/ericniebler/following{/other_user}","gists_url":"https://api.github.com/users/ericniebler/gists{/gist_id}","starred_url":"https://api.github.com/users/ericniebler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericniebler/subscriptions","organizations_url":"https://api.github.com/users/ericniebler/orgs","repos_url":"https://api.github.com/users/ericniebler/repos","events_url":"https://api.github.com/users/ericniebler/events{/privacy}","received_events_url":"https://api.github.com/users/ericniebler/received_events","type":"User","site_admin":false},"body":"\"shall result in substitution failure\" -> I find no mentions of substitution failure in the standard. I think it's enough to simply say that `begin(E)` is ill-formed.","created_at":"2015-11-05T22:51:05Z","updated_at":"2015-11-05T22:51:05Z","html_url":"https://github.com/ericniebler/stl2/pull/143#discussion_r44081745","pull_request_url":"https://api.github.com/repos/ericniebler/stl2/pulls/143","_links":{"self":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/comments/44081745"},"html":{"href":"https://github.com/ericniebler/stl2/pull/143#discussion_r44081745"},"pull_request":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/143"}}},"pull_request":{"url":"https://api.github.com/repos/ericniebler/stl2/pulls/143","id":49881207,"html_url":"https://github.com/ericniebler/stl2/pull/143","diff_url":"https://github.com/ericniebler/stl2/pull/143.diff","patch_url":"https://github.com/ericniebler/stl2/pull/143.patch","issue_url":"https://api.github.com/repos/ericniebler/stl2/issues/143","number":143,"state":"open","locked":false,"title":"Specify N4381-style customization point objects for {c,r}begin, {c,r}…","user":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"body":"…end, size, empty, {c}data, and swap.\r\n\r\nI still need to:\r\n\r\n* update references to the customization points in the rest of the TS to make sure they agree with the specified semantics (especially the discussion of `Swappable`) and probably qualify them a la `ranges::begin` to make it clear that unqualified name lookup isn't happening.\r\n\r\n* Fix declarations of functions with the same name as a customization point, e.g. `template <....> void swap(tagged<...>&, tagged<...>&)`.\r\n","created_at":"2015-11-05T21:11:16Z","updated_at":"2015-11-05T22:51:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1993b129f12c45baa0d27d78fe715155a5f25c94","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ericniebler/stl2/pulls/143/commits","review_comments_url":"https://api.github.com/repos/ericniebler/stl2/pulls/143/comments","review_comment_url":"https://api.github.com/repos/ericniebler/stl2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ericniebler/stl2/issues/143/comments","statuses_url":"https://api.github.com/repos/ericniebler/stl2/statuses/36a6216b1e029a1605b30ea7cf748e0a65bb21d5","head":{"label":"CaseyCarter:customization_points","ref":"customization_points","sha":"36a6216b1e029a1605b30ea7cf748e0a65bb21d5","user":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"repo":{"id":36177743,"name":"stl2","full_name":"CaseyCarter/stl2","owner":{"login":"CaseyCarter","id":456873,"avatar_url":"https://avatars.githubusercontent.com/u/456873?v=3","gravatar_id":"","url":"https://api.github.com/users/CaseyCarter","html_url":"https://github.com/CaseyCarter","followers_url":"https://api.github.com/users/CaseyCarter/followers","following_url":"https://api.github.com/users/CaseyCarter/following{/other_user}","gists_url":"https://api.github.com/users/CaseyCarter/gists{/gist_id}","starred_url":"https://api.github.com/users/CaseyCarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaseyCarter/subscriptions","organizations_url":"https://api.github.com/users/CaseyCarter/orgs","repos_url":"https://api.github.com/users/CaseyCarter/repos","events_url":"https://api.github.com/users/CaseyCarter/events{/privacy}","received_events_url":"https://api.github.com/users/CaseyCarter/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/CaseyCarter/stl2","description":"","fork":true,"url":"https://api.github.com/repos/CaseyCarter/stl2","forks_url":"https://api.github.com/repos/CaseyCarter/stl2/forks","keys_url":"https://api.github.com/repos/CaseyCarter/stl2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CaseyCarter/stl2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CaseyCarter/stl2/teams","hooks_url":"https://api.github.com/repos/CaseyCarter/stl2/hooks","issue_events_url":"https://api.github.com/repos/CaseyCarter/stl2/issues/events{/number}","events_url":"https://api.github.com/repos/CaseyCarter/stl2/events","assignees_url":"https://api.github.com/repos/CaseyCarter/stl2/assignees{/user}","branches_url":"https://api.github.com/repos/CaseyCarter/stl2/branches{/branch}","tags_url":"https://api.github.com/repos/CaseyCarter/stl2/tags","blobs_url":"https://api.github.com/repos/CaseyCarter/stl2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CaseyCarter/stl2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CaseyCarter/stl2/git/refs{/sha}","trees_url":"https://api.github.com/repos/CaseyCarter/stl2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CaseyCarter/stl2/statuses/{sha}","languages_url":"https://api.github.com/repos/CaseyCarter/stl2/languages","stargazers_url":"https://api.github.com/repos/CaseyCarter/stl2/stargazers","contributors_url":"https://api.github.com/repos/CaseyCarter/stl2/contributors","subscribers_url":"https://api.github.com/repos/CaseyCarter/stl2/subscribers","subscription_url":"https://api.github.com/repos/CaseyCarter/stl2/subscription","commits_url":"https://api.github.com/repos/CaseyCarter/stl2/commits{/sha}","git_commits_url":"https://api.github.com/repos/CaseyCarter/stl2/git/commits{/sha}","comments_url":"https://api.github.com/repos/CaseyCarter/stl2/comments{/number}","issue_comment_url":"https://api.github.com/repos/CaseyCarter/stl2/issues/comments{/number}","contents_url":"https://api.github.com/repos/CaseyCarter/stl2/contents/{+path}","compare_url":"https://api.github.com/repos/CaseyCarter/stl2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CaseyCarter/stl2/merges","archive_url":"https://api.github.com/repos/CaseyCarter/stl2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CaseyCarter/stl2/downloads","issues_url":"https://api.github.com/repos/CaseyCarter/stl2/issues{/number}","pulls_url":"https://api.github.com/repos/CaseyCarter/stl2/pulls{/number}","milestones_url":"https://api.github.com/repos/CaseyCarter/stl2/milestones{/number}","notifications_url":"https://api.github.com/repos/CaseyCarter/stl2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CaseyCarter/stl2/labels{/name}","releases_url":"https://api.github.com/repos/CaseyCarter/stl2/releases{/id}","created_at":"2015-05-24T15:06:54Z","updated_at":"2015-07-21T12:34:07Z","pushed_at":"2015-11-05T22:21:55Z","git_url":"git://github.com/CaseyCarter/stl2.git","ssh_url":"git@github.com:CaseyCarter/stl2.git","clone_url":"https://github.com/CaseyCarter/stl2.git","svn_url":"https://github.com/CaseyCarter/stl2","homepage":null,"size":35138,"stargazers_count":2,"watchers_count":2,"language":"TeX","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":6,"forks":0,"open_issues":6,"watchers":2,"default_branch":"master"}},"base":{"label":"ericniebler:master","ref":"master","sha":"cd24f141587f3a6938ab5deff12fe204063fd39d","user":{"login":"ericniebler","id":225757,"avatar_url":"https://avatars.githubusercontent.com/u/225757?v=3","gravatar_id":"","url":"https://api.github.com/users/ericniebler","html_url":"https://github.com/ericniebler","followers_url":"https://api.github.com/users/ericniebler/followers","following_url":"https://api.github.com/users/ericniebler/following{/other_user}","gists_url":"https://api.github.com/users/ericniebler/gists{/gist_id}","starred_url":"https://api.github.com/users/ericniebler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericniebler/subscriptions","organizations_url":"https://api.github.com/users/ericniebler/orgs","repos_url":"https://api.github.com/users/ericniebler/repos","events_url":"https://api.github.com/users/ericniebler/events{/privacy}","received_events_url":"https://api.github.com/users/ericniebler/received_events","type":"User","site_admin":false},"repo":{"id":26772882,"name":"stl2","full_name":"ericniebler/stl2","owner":{"login":"ericniebler","id":225757,"avatar_url":"https://avatars.githubusercontent.com/u/225757?v=3","gravatar_id":"","url":"https://api.github.com/users/ericniebler","html_url":"https://github.com/ericniebler","followers_url":"https://api.github.com/users/ericniebler/followers","following_url":"https://api.github.com/users/ericniebler/following{/other_user}","gists_url":"https://api.github.com/users/ericniebler/gists{/gist_id}","starred_url":"https://api.github.com/users/ericniebler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericniebler/subscriptions","organizations_url":"https://api.github.com/users/ericniebler/orgs","repos_url":"https://api.github.com/users/ericniebler/repos","events_url":"https://api.github.com/users/ericniebler/events{/privacy}","received_events_url":"https://api.github.com/users/ericniebler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ericniebler/stl2","description":"LaTeX and Markdown source for the Ranges TS/STL2 and associated proposals","fork":false,"url":"https://api.github.com/repos/ericniebler/stl2","forks_url":"https://api.github.com/repos/ericniebler/stl2/forks","keys_url":"https://api.github.com/repos/ericniebler/stl2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ericniebler/stl2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ericniebler/stl2/teams","hooks_url":"https://api.github.com/repos/ericniebler/stl2/hooks","issue_events_url":"https://api.github.com/repos/ericniebler/stl2/issues/events{/number}","events_url":"https://api.github.com/repos/ericniebler/stl2/events","assignees_url":"https://api.github.com/repos/ericniebler/stl2/assignees{/user}","branches_url":"https://api.github.com/repos/ericniebler/stl2/branches{/branch}","tags_url":"https://api.github.com/repos/ericniebler/stl2/tags","blobs_url":"https://api.github.com/repos/ericniebler/stl2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ericniebler/stl2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ericniebler/stl2/git/refs{/sha}","trees_url":"https://api.github.com/repos/ericniebler/stl2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ericniebler/stl2/statuses/{sha}","languages_url":"https://api.github.com/repos/ericniebler/stl2/languages","stargazers_url":"https://api.github.com/repos/ericniebler/stl2/stargazers","contributors_url":"https://api.github.com/repos/ericniebler/stl2/contributors","subscribers_url":"https://api.github.com/repos/ericniebler/stl2/subscribers","subscription_url":"https://api.github.com/repos/ericniebler/stl2/subscription","commits_url":"https://api.github.com/repos/ericniebler/stl2/commits{/sha}","git_commits_url":"https://api.github.com/repos/ericniebler/stl2/git/commits{/sha}","comments_url":"https://api.github.com/repos/ericniebler/stl2/comments{/number}","issue_comment_url":"https://api.github.com/repos/ericniebler/stl2/issues/comments{/number}","contents_url":"https://api.github.com/repos/ericniebler/stl2/contents/{+path}","compare_url":"https://api.github.com/repos/ericniebler/stl2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ericniebler/stl2/merges","archive_url":"https://api.github.com/repos/ericniebler/stl2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ericniebler/stl2/downloads","issues_url":"https://api.github.com/repos/ericniebler/stl2/issues{/number}","pulls_url":"https://api.github.com/repos/ericniebler/stl2/pulls{/number}","milestones_url":"https://api.github.com/repos/ericniebler/stl2/milestones{/number}","notifications_url":"https://api.github.com/repos/ericniebler/stl2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ericniebler/stl2/labels{/name}","releases_url":"https://api.github.com/repos/ericniebler/stl2/releases{/id}","created_at":"2014-11-17T19:19:15Z","updated_at":"2015-10-08T20:13:22Z","pushed_at":"2015-11-05T22:21:56Z","git_url":"git://github.com/ericniebler/stl2.git","ssh_url":"git@github.com:ericniebler/stl2.git","clone_url":"https://github.com/ericniebler/stl2.git","svn_url":"https://github.com/ericniebler/stl2","homepage":"","size":38455,"stargazers_count":23,"watchers_count":23,"language":"TeX","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":26,"forks":6,"open_issues":26,"watchers":23,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/143"},"html":{"href":"https://github.com/ericniebler/stl2/pull/143"},"issue":{"href":"https://api.github.com/repos/ericniebler/stl2/issues/143"},"comments":{"href":"https://api.github.com/repos/ericniebler/stl2/issues/143/comments"},"review_comments":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/143/comments"},"review_comment":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ericniebler/stl2/pulls/143/commits"},"statuses":{"href":"https://api.github.com/repos/ericniebler/stl2/statuses/36a6216b1e029a1605b30ea7cf748e0a65bb21d5"}}}}