{"action":"closed","number":1307,"pull_request":{"url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/1307","id":241518888,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxNTE4ODg4","html_url":"https://github.com/isocpp/CppCoreGuidelines/pull/1307","diff_url":"https://github.com/isocpp/CppCoreGuidelines/pull/1307.diff","patch_url":"https://github.com/isocpp/CppCoreGuidelines/pull/1307.patch","issue_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/1307","number":1307,"state":"closed","locked":false,"title":"Remove claims that \"constexpr functions are pure\"","user":{"login":"mbozzi","id":24360730,"node_id":"MDQ6VXNlcjI0MzYwNzMw","avatar_url":"https://avatars0.githubusercontent.com/u/24360730?v=4","gravatar_id":"","url":"https://api.github.com/users/mbozzi","html_url":"https://github.com/mbozzi","followers_url":"https://api.github.com/users/mbozzi/followers","following_url":"https://api.github.com/users/mbozzi/following{/other_user}","gists_url":"https://api.github.com/users/mbozzi/gists{/gist_id}","starred_url":"https://api.github.com/users/mbozzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbozzi/subscriptions","organizations_url":"https://api.github.com/users/mbozzi/orgs","repos_url":"https://api.github.com/users/mbozzi/repos","events_url":"https://api.github.com/users/mbozzi/events{/privacy}","received_events_url":"https://api.github.com/users/mbozzi/received_events","type":"User","site_admin":false},"body":"F.4 and F.8 made this erroneous claim as parts of notes which are entirely removed.  In particular, F.4 contained this snippet:\r\n> `constexpr` functions are pure: they can have no side effects.\r\n>\r\n>     int dcount = 0;\r\n>     constexpr int double(int v)\r\n>     {\r\n>         ++dcount;   // error: attempted side effect from constexpr function\r\n>         return v + v;\r\n>     }\r\nWhich is full of problems:\r\n  1. the function name is `double`;\r\n  2. the code is ill-formed NDR because there are no values of the argument `v` for which the function is usable in a constant expression; most importantly\r\n  3. the underlying claim that \"constexpr functions are pure\" is wrong as this counterexample ([Godbolt\r\n     link](https://godbolt.org/z/Cxc20A)) demonstrates:\r\n\r\n    int fcount = 0;\r\n    constexpr int f(int v)\r\n    {\r\n        if (v < 0)\r\n            ++fcount;\r\n        return v + v;\r\n    }\r\n","created_at":"2018-12-31T01:35:35Z","updated_at":"2019-01-03T19:05:56Z","closed_at":"2019-01-03T19:05:56Z","merged_at":"2019-01-03T19:05:56Z","merge_commit_sha":"dd8fc629d75f0d9fbd251b5890482513204469d3","assignee":{"login":"hsutter","id":1801526,"node_id":"MDQ6VXNlcjE4MDE1MjY=","avatar_url":"https://avatars1.githubusercontent.com/u/1801526?v=4","gravatar_id":"","url":"https://api.github.com/users/hsutter","html_url":"https://github.com/hsutter","followers_url":"https://api.github.com/users/hsutter/followers","following_url":"https://api.github.com/users/hsutter/following{/other_user}","gists_url":"https://api.github.com/users/hsutter/gists{/gist_id}","starred_url":"https://api.github.com/users/hsutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hsutter/subscriptions","organizations_url":"https://api.github.com/users/hsutter/orgs","repos_url":"https://api.github.com/users/hsutter/repos","events_url":"https://api.github.com/users/hsutter/events{/privacy}","received_events_url":"https://api.github.com/users/hsutter/received_events","type":"User","site_admin":false},"assignees":[{"login":"hsutter","id":1801526,"node_id":"MDQ6VXNlcjE4MDE1MjY=","avatar_url":"https://avatars1.githubusercontent.com/u/1801526?v=4","gravatar_id":"","url":"https://api.github.com/users/hsutter","html_url":"https://github.com/hsutter","followers_url":"https://api.github.com/users/hsutter/followers","following_url":"https://api.github.com/users/hsutter/following{/other_user}","gists_url":"https://api.github.com/users/hsutter/gists{/gist_id}","starred_url":"https://api.github.com/users/hsutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hsutter/subscriptions","organizations_url":"https://api.github.com/users/hsutter/orgs","repos_url":"https://api.github.com/users/hsutter/repos","events_url":"https://api.github.com/users/hsutter/events{/privacy}","received_events_url":"https://api.github.com/users/hsutter/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/1307/commits","review_comments_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/1307/comments","review_comment_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/comments{/number}","comments_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/1307/comments","statuses_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/statuses/02ac3e1a045b1bc3bb2d2f26fc90aa411f9a888a","head":{"label":"mbozzi:patch-f-functions","ref":"patch-f-functions","sha":"02ac3e1a045b1bc3bb2d2f26fc90aa411f9a888a","user":{"login":"mbozzi","id":24360730,"node_id":"MDQ6VXNlcjI0MzYwNzMw","avatar_url":"https://avatars0.githubusercontent.com/u/24360730?v=4","gravatar_id":"","url":"https://api.github.com/users/mbozzi","html_url":"https://github.com/mbozzi","followers_url":"https://api.github.com/users/mbozzi/followers","following_url":"https://api.github.com/users/mbozzi/following{/other_user}","gists_url":"https://api.github.com/users/mbozzi/gists{/gist_id}","starred_url":"https://api.github.com/users/mbozzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbozzi/subscriptions","organizations_url":"https://api.github.com/users/mbozzi/orgs","repos_url":"https://api.github.com/users/mbozzi/repos","events_url":"https://api.github.com/users/mbozzi/events{/privacy}","received_events_url":"https://api.github.com/users/mbozzi/received_events","type":"User","site_admin":false},"repo":{"id":163626775,"node_id":"MDEwOlJlcG9zaXRvcnkxNjM2MjY3NzU=","name":"CppCoreGuidelines","full_name":"mbozzi/CppCoreGuidelines","private":false,"owner":{"login":"mbozzi","id":24360730,"node_id":"MDQ6VXNlcjI0MzYwNzMw","avatar_url":"https://avatars0.githubusercontent.com/u/24360730?v=4","gravatar_id":"","url":"https://api.github.com/users/mbozzi","html_url":"https://github.com/mbozzi","followers_url":"https://api.github.com/users/mbozzi/followers","following_url":"https://api.github.com/users/mbozzi/following{/other_user}","gists_url":"https://api.github.com/users/mbozzi/gists{/gist_id}","starred_url":"https://api.github.com/users/mbozzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbozzi/subscriptions","organizations_url":"https://api.github.com/users/mbozzi/orgs","repos_url":"https://api.github.com/users/mbozzi/repos","events_url":"https://api.github.com/users/mbozzi/events{/privacy}","received_events_url":"https://api.github.com/users/mbozzi/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mbozzi/CppCoreGuidelines","description":"The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++","fork":true,"url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines","forks_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/forks","keys_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/teams","hooks_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/hooks","issue_events_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/issues/events{/number}","events_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/events","assignees_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/assignees{/user}","branches_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/branches{/branch}","tags_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/tags","blobs_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/git/refs{/sha}","trees_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/statuses/{sha}","languages_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/languages","stargazers_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/stargazers","contributors_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/contributors","subscribers_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/subscribers","subscription_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/subscription","commits_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/commits{/sha}","git_commits_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/git/commits{/sha}","comments_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/comments{/number}","issue_comment_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/issues/comments{/number}","contents_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/contents/{+path}","compare_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/merges","archive_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/downloads","issues_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/issues{/number}","pulls_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/pulls{/number}","milestones_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/milestones{/number}","notifications_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/labels{/name}","releases_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/releases{/id}","deployments_url":"https://api.github.com/repos/mbozzi/CppCoreGuidelines/deployments","created_at":"2018-12-31T00:15:33Z","updated_at":"2018-12-31T00:15:36Z","pushed_at":"2018-12-31T01:28:58Z","git_url":"git://github.com/mbozzi/CppCoreGuidelines.git","ssh_url":"git@github.com:mbozzi/CppCoreGuidelines.git","clone_url":"https://github.com/mbozzi/CppCoreGuidelines.git","svn_url":"https://github.com/mbozzi/CppCoreGuidelines","homepage":"http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines","size":24155,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"isocpp:master","ref":"master","sha":"f971ad2f179cf9740463306df706a70b0ffe0daa","user":{"login":"isocpp","id":13841574,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODQxNTc0","avatar_url":"https://avatars3.githubusercontent.com/u/13841574?v=4","gravatar_id":"","url":"https://api.github.com/users/isocpp","html_url":"https://github.com/isocpp","followers_url":"https://api.github.com/users/isocpp/followers","following_url":"https://api.github.com/users/isocpp/following{/other_user}","gists_url":"https://api.github.com/users/isocpp/gists{/gist_id}","starred_url":"https://api.github.com/users/isocpp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isocpp/subscriptions","organizations_url":"https://api.github.com/users/isocpp/orgs","repos_url":"https://api.github.com/users/isocpp/repos","events_url":"https://api.github.com/users/isocpp/events{/privacy}","received_events_url":"https://api.github.com/users/isocpp/received_events","type":"Organization","site_admin":false},"repo":{"id":41058054,"node_id":"MDEwOlJlcG9zaXRvcnk0MTA1ODA1NA==","name":"CppCoreGuidelines","full_name":"isocpp/CppCoreGuidelines","private":false,"owner":{"login":"isocpp","id":13841574,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzODQxNTc0","avatar_url":"https://avatars3.githubusercontent.com/u/13841574?v=4","gravatar_id":"","url":"https://api.github.com/users/isocpp","html_url":"https://github.com/isocpp","followers_url":"https://api.github.com/users/isocpp/followers","following_url":"https://api.github.com/users/isocpp/following{/other_user}","gists_url":"https://api.github.com/users/isocpp/gists{/gist_id}","starred_url":"https://api.github.com/users/isocpp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isocpp/subscriptions","organizations_url":"https://api.github.com/users/isocpp/orgs","repos_url":"https://api.github.com/users/isocpp/repos","events_url":"https://api.github.com/users/isocpp/events{/privacy}","received_events_url":"https://api.github.com/users/isocpp/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/isocpp/CppCoreGuidelines","description":"The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++","fork":false,"url":"https://api.github.com/repos/isocpp/CppCoreGuidelines","forks_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/forks","keys_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/keys{/key_id}","collaborators_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/teams","hooks_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/hooks","issue_events_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/events{/number}","events_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/events","assignees_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/assignees{/user}","branches_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/branches{/branch}","tags_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/tags","blobs_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/git/refs{/sha}","trees_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/git/trees{/sha}","statuses_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/statuses/{sha}","languages_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/languages","stargazers_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/stargazers","contributors_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/contributors","subscribers_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/subscribers","subscription_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/subscription","commits_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/commits{/sha}","git_commits_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/git/commits{/sha}","comments_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/comments{/number}","issue_comment_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/comments{/number}","contents_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/contents/{+path}","compare_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/compare/{base}...{head}","merges_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/merges","archive_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/downloads","issues_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues{/number}","pulls_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls{/number}","milestones_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/milestones{/number}","notifications_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/labels{/name}","releases_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/releases{/id}","deployments_url":"https://api.github.com/repos/isocpp/CppCoreGuidelines/deployments","created_at":"2015-08-19T20:22:52Z","updated_at":"2019-01-03T19:02:04Z","pushed_at":"2019-01-03T19:05:56Z","git_url":"git://github.com/isocpp/CppCoreGuidelines.git","ssh_url":"git@github.com:isocpp/CppCoreGuidelines.git","clone_url":"https://github.com/isocpp/CppCoreGuidelines.git","svn_url":"https://github.com/isocpp/CppCoreGuidelines","homepage":"http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines","size":24709,"stargazers_count":20856,"watchers_count":20856,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2662,"mirror_url":null,"archived":false,"open_issues_count":102,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2662,"open_issues":102,"watchers":20856,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/1307"},"html":{"href":"https://github.com/isocpp/CppCoreGuidelines/pull/1307"},"issue":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/1307"},"comments":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/issues/1307/comments"},"review_comments":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/1307/comments"},"review_comment":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/pulls/1307/commits"},"statuses":{"href":"https://api.github.com/repos/isocpp/CppCoreGuidelines/statuses/02ac3e1a045b1bc3bb2d2f26fc90aa411f9a888a"}},"author_association":"NONE","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"hsutter","id":1801526,"node_id":"MDQ6VXNlcjE4MDE1MjY=","avatar_url":"https://avatars1.githubusercontent.com/u/1801526?v=4","gravatar_id":"","url":"https://api.github.com/users/hsutter","html_url":"https://github.com/hsutter","followers_url":"https://api.github.com/users/hsutter/followers","following_url":"https://api.github.com/users/hsutter/following{/other_user}","gists_url":"https://api.github.com/users/hsutter/gists{/gist_id}","starred_url":"https://api.github.com/users/hsutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hsutter/subscriptions","organizations_url":"https://api.github.com/users/hsutter/orgs","repos_url":"https://api.github.com/users/hsutter/repos","events_url":"https://api.github.com/users/hsutter/events{/privacy}","received_events_url":"https://api.github.com/users/hsutter/received_events","type":"User","site_admin":false},"comments":2,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":0,"deletions":29,"changed_files":1}}
{"actor":{"display_login":"hsutter"}}