{"action":"closed","number":7621,"pull_request":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/7621","id":147668564,"html_url":"https://github.com/chapel-lang/chapel/pull/7621","diff_url":"https://github.com/chapel-lang/chapel/pull/7621.diff","patch_url":"https://github.com/chapel-lang/chapel/pull/7621.patch","issue_url":"https://api.github.com/repos/chapel-lang/chapel/issues/7621","number":7621,"state":"closed","locked":false,"title":"Add support for plain on statements around field initialization","user":{"login":"lydia-duncan","id":2454710,"avatar_url":"https://avatars2.githubusercontent.com/u/2454710?v=4","gravatar_id":"","url":"https://api.github.com/users/lydia-duncan","html_url":"https://github.com/lydia-duncan","followers_url":"https://api.github.com/users/lydia-duncan/followers","following_url":"https://api.github.com/users/lydia-duncan/following{/other_user}","gists_url":"https://api.github.com/users/lydia-duncan/gists{/gist_id}","starred_url":"https://api.github.com/users/lydia-duncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydia-duncan/subscriptions","organizations_url":"https://api.github.com/users/lydia-duncan/orgs","repos_url":"https://api.github.com/users/lydia-duncan/repos","events_url":"https://api.github.com/users/lydia-duncan/events{/privacy}","received_events_url":"https://api.github.com/users/lydia-duncan/received_events","type":"User","site_admin":false},"body":"In #6774, we discussed whether it was appropriate to allow on statements around\r\nfield initialization and super.init()/this.init() calls in initializers, because\r\nthey do not insert parallelism in their own right and so would not violate the\r\nPhase 1 initializer rules.  We decided to allow them around field initialization\r\nfor this reason, but not around super.init() and this.init() calls because it is\r\nbetter to have the Phase division as visible as possible in the body of the\r\nfunction.\r\n\r\nThis change implements that decision.  It continues to track the presence of on\r\nblocks in the body, but will only generate an error message for the super.init()\r\nand this.init() calls.  If a field initialization is in an on block, it will\r\ncheck if the block surrounding the on block is allowed to contain field\r\ninitialization (so that on blocks in loops, etc. will not hide that the field\r\ninitialization is improper).  This meant adding tracking for outer blocks.\r\n\r\nTesting Changes:\r\nChanges the expected output for hasCobeginOnFieldInit to be consistent in all\r\nconfigurations, and the expected output for hasOnFieldInit based on the program\r\nnow being allowed to compile and run.  Adds a test, deeperOn, to verify that\r\nhaving a nested block statement between the inner on statement and the cobegin\r\ndoes not prevent us from getting the cobegin's error message.  Also, removes\r\nhasOnFieldInitLocal.future and replace it with parentCall/inOnLocal (as the\r\noutput for field initialization no longer varies depending on whether the\r\ncompilation is local or no-local/comm=gasnet, etc., but the output for\r\nsuper.init() and this.init() still does).\r\n\r\nResolves #6774 \r\n\r\nPassed classes/initializers with futures, and with futures and --no-local, a std/\r\nparatest, and a --no-local paratest.","created_at":"2017-10-19T21:19:05Z","updated_at":"2017-10-19T22:33:13Z","closed_at":"2017-10-19T22:33:13Z","merged_at":"2017-10-19T22:33:13Z","merge_commit_sha":"738cb7e093557e5d0c7df8ff2f067779d4171b91","assignee":null,"assignees":[],"requested_reviewers":[{"login":"noakesmichael","id":2167206,"avatar_url":"https://avatars2.githubusercontent.com/u/2167206?v=4","gravatar_id":"","url":"https://api.github.com/users/noakesmichael","html_url":"https://github.com/noakesmichael","followers_url":"https://api.github.com/users/noakesmichael/followers","following_url":"https://api.github.com/users/noakesmichael/following{/other_user}","gists_url":"https://api.github.com/users/noakesmichael/gists{/gist_id}","starred_url":"https://api.github.com/users/noakesmichael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noakesmichael/subscriptions","organizations_url":"https://api.github.com/users/noakesmichael/orgs","repos_url":"https://api.github.com/users/noakesmichael/repos","events_url":"https://api.github.com/users/noakesmichael/events{/privacy}","received_events_url":"https://api.github.com/users/noakesmichael/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/7621/commits","review_comments_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/7621/comments","review_comment_url":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments{/number}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/issues/7621/comments","statuses_url":"https://api.github.com/repos/chapel-lang/chapel/statuses/e2fdb76d37a696b1d065df0e7e78182c5018fc4b","head":{"label":"lydia-duncan:enableOnAroundFields","ref":"enableOnAroundFields","sha":"e2fdb76d37a696b1d065df0e7e78182c5018fc4b","user":{"login":"lydia-duncan","id":2454710,"avatar_url":"https://avatars2.githubusercontent.com/u/2454710?v=4","gravatar_id":"","url":"https://api.github.com/users/lydia-duncan","html_url":"https://github.com/lydia-duncan","followers_url":"https://api.github.com/users/lydia-duncan/followers","following_url":"https://api.github.com/users/lydia-duncan/following{/other_user}","gists_url":"https://api.github.com/users/lydia-duncan/gists{/gist_id}","starred_url":"https://api.github.com/users/lydia-duncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydia-duncan/subscriptions","organizations_url":"https://api.github.com/users/lydia-duncan/orgs","repos_url":"https://api.github.com/users/lydia-duncan/repos","events_url":"https://api.github.com/users/lydia-duncan/events{/privacy}","received_events_url":"https://api.github.com/users/lydia-duncan/received_events","type":"User","site_admin":false},"repo":{"id":21914939,"name":"chapel","full_name":"lydia-duncan/chapel","owner":{"login":"lydia-duncan","id":2454710,"avatar_url":"https://avatars2.githubusercontent.com/u/2454710?v=4","gravatar_id":"","url":"https://api.github.com/users/lydia-duncan","html_url":"https://github.com/lydia-duncan","followers_url":"https://api.github.com/users/lydia-duncan/followers","following_url":"https://api.github.com/users/lydia-duncan/following{/other_user}","gists_url":"https://api.github.com/users/lydia-duncan/gists{/gist_id}","starred_url":"https://api.github.com/users/lydia-duncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydia-duncan/subscriptions","organizations_url":"https://api.github.com/users/lydia-duncan/orgs","repos_url":"https://api.github.com/users/lydia-duncan/repos","events_url":"https://api.github.com/users/lydia-duncan/events{/privacy}","received_events_url":"https://api.github.com/users/lydia-duncan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lydia-duncan/chapel","description":"a Productive Parallel Programming Language","fork":true,"url":"https://api.github.com/repos/lydia-duncan/chapel","forks_url":"https://api.github.com/repos/lydia-duncan/chapel/forks","keys_url":"https://api.github.com/repos/lydia-duncan/chapel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lydia-duncan/chapel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lydia-duncan/chapel/teams","hooks_url":"https://api.github.com/repos/lydia-duncan/chapel/hooks","issue_events_url":"https://api.github.com/repos/lydia-duncan/chapel/issues/events{/number}","events_url":"https://api.github.com/repos/lydia-duncan/chapel/events","assignees_url":"https://api.github.com/repos/lydia-duncan/chapel/assignees{/user}","branches_url":"https://api.github.com/repos/lydia-duncan/chapel/branches{/branch}","tags_url":"https://api.github.com/repos/lydia-duncan/chapel/tags","blobs_url":"https://api.github.com/repos/lydia-duncan/chapel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lydia-duncan/chapel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lydia-duncan/chapel/git/refs{/sha}","trees_url":"https://api.github.com/repos/lydia-duncan/chapel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lydia-duncan/chapel/statuses/{sha}","languages_url":"https://api.github.com/repos/lydia-duncan/chapel/languages","stargazers_url":"https://api.github.com/repos/lydia-duncan/chapel/stargazers","contributors_url":"https://api.github.com/repos/lydia-duncan/chapel/contributors","subscribers_url":"https://api.github.com/repos/lydia-duncan/chapel/subscribers","subscription_url":"https://api.github.com/repos/lydia-duncan/chapel/subscription","commits_url":"https://api.github.com/repos/lydia-duncan/chapel/commits{/sha}","git_commits_url":"https://api.github.com/repos/lydia-duncan/chapel/git/commits{/sha}","comments_url":"https://api.github.com/repos/lydia-duncan/chapel/comments{/number}","issue_comment_url":"https://api.github.com/repos/lydia-duncan/chapel/issues/comments{/number}","contents_url":"https://api.github.com/repos/lydia-duncan/chapel/contents/{+path}","compare_url":"https://api.github.com/repos/lydia-duncan/chapel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lydia-duncan/chapel/merges","archive_url":"https://api.github.com/repos/lydia-duncan/chapel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lydia-duncan/chapel/downloads","issues_url":"https://api.github.com/repos/lydia-duncan/chapel/issues{/number}","pulls_url":"https://api.github.com/repos/lydia-duncan/chapel/pulls{/number}","milestones_url":"https://api.github.com/repos/lydia-duncan/chapel/milestones{/number}","notifications_url":"https://api.github.com/repos/lydia-duncan/chapel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lydia-duncan/chapel/labels{/name}","releases_url":"https://api.github.com/repos/lydia-duncan/chapel/releases{/id}","deployments_url":"https://api.github.com/repos/lydia-duncan/chapel/deployments","created_at":"2014-07-16T19:55:13Z","updated_at":"2016-01-11T17:36:15Z","pushed_at":"2017-10-19T20:21:13Z","git_url":"git://github.com/lydia-duncan/chapel.git","ssh_url":"git@github.com:lydia-duncan/chapel.git","clone_url":"https://github.com/lydia-duncan/chapel.git","svn_url":"https://github.com/lydia-duncan/chapel","homepage":"http://chapel.cray.com/","size":453463,"stargazers_count":1,"watchers_count":1,"language":"Chapel","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"chapel-lang:master","ref":"master","sha":"3313c4467addb41fdc6d28436cc72b1c064e7565","user":{"login":"chapel-lang","id":7597261,"avatar_url":"https://avatars2.githubusercontent.com/u/7597261?v=4","gravatar_id":"","url":"https://api.github.com/users/chapel-lang","html_url":"https://github.com/chapel-lang","followers_url":"https://api.github.com/users/chapel-lang/followers","following_url":"https://api.github.com/users/chapel-lang/following{/other_user}","gists_url":"https://api.github.com/users/chapel-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/chapel-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapel-lang/subscriptions","organizations_url":"https://api.github.com/users/chapel-lang/orgs","repos_url":"https://api.github.com/users/chapel-lang/repos","events_url":"https://api.github.com/users/chapel-lang/events{/privacy}","received_events_url":"https://api.github.com/users/chapel-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":21663285,"name":"chapel","full_name":"chapel-lang/chapel","owner":{"login":"chapel-lang","id":7597261,"avatar_url":"https://avatars2.githubusercontent.com/u/7597261?v=4","gravatar_id":"","url":"https://api.github.com/users/chapel-lang","html_url":"https://github.com/chapel-lang","followers_url":"https://api.github.com/users/chapel-lang/followers","following_url":"https://api.github.com/users/chapel-lang/following{/other_user}","gists_url":"https://api.github.com/users/chapel-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/chapel-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chapel-lang/subscriptions","organizations_url":"https://api.github.com/users/chapel-lang/orgs","repos_url":"https://api.github.com/users/chapel-lang/repos","events_url":"https://api.github.com/users/chapel-lang/events{/privacy}","received_events_url":"https://api.github.com/users/chapel-lang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/chapel-lang/chapel","description":"a Productive Parallel Programming Language","fork":false,"url":"https://api.github.com/repos/chapel-lang/chapel","forks_url":"https://api.github.com/repos/chapel-lang/chapel/forks","keys_url":"https://api.github.com/repos/chapel-lang/chapel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chapel-lang/chapel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chapel-lang/chapel/teams","hooks_url":"https://api.github.com/repos/chapel-lang/chapel/hooks","issue_events_url":"https://api.github.com/repos/chapel-lang/chapel/issues/events{/number}","events_url":"https://api.github.com/repos/chapel-lang/chapel/events","assignees_url":"https://api.github.com/repos/chapel-lang/chapel/assignees{/user}","branches_url":"https://api.github.com/repos/chapel-lang/chapel/branches{/branch}","tags_url":"https://api.github.com/repos/chapel-lang/chapel/tags","blobs_url":"https://api.github.com/repos/chapel-lang/chapel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chapel-lang/chapel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chapel-lang/chapel/git/refs{/sha}","trees_url":"https://api.github.com/repos/chapel-lang/chapel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chapel-lang/chapel/statuses/{sha}","languages_url":"https://api.github.com/repos/chapel-lang/chapel/languages","stargazers_url":"https://api.github.com/repos/chapel-lang/chapel/stargazers","contributors_url":"https://api.github.com/repos/chapel-lang/chapel/contributors","subscribers_url":"https://api.github.com/repos/chapel-lang/chapel/subscribers","subscription_url":"https://api.github.com/repos/chapel-lang/chapel/subscription","commits_url":"https://api.github.com/repos/chapel-lang/chapel/commits{/sha}","git_commits_url":"https://api.github.com/repos/chapel-lang/chapel/git/commits{/sha}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/comments{/number}","issue_comment_url":"https://api.github.com/repos/chapel-lang/chapel/issues/comments{/number}","contents_url":"https://api.github.com/repos/chapel-lang/chapel/contents/{+path}","compare_url":"https://api.github.com/repos/chapel-lang/chapel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chapel-lang/chapel/merges","archive_url":"https://api.github.com/repos/chapel-lang/chapel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chapel-lang/chapel/downloads","issues_url":"https://api.github.com/repos/chapel-lang/chapel/issues{/number}","pulls_url":"https://api.github.com/repos/chapel-lang/chapel/pulls{/number}","milestones_url":"https://api.github.com/repos/chapel-lang/chapel/milestones{/number}","notifications_url":"https://api.github.com/repos/chapel-lang/chapel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chapel-lang/chapel/labels{/name}","releases_url":"https://api.github.com/repos/chapel-lang/chapel/releases{/id}","deployments_url":"https://api.github.com/repos/chapel-lang/chapel/deployments","created_at":"2014-07-09T18:15:54Z","updated_at":"2017-10-19T22:18:07Z","pushed_at":"2017-10-19T22:33:13Z","git_url":"git://github.com/chapel-lang/chapel.git","ssh_url":"git@github.com:chapel-lang/chapel.git","clone_url":"https://github.com/chapel-lang/chapel.git","svn_url":"https://github.com/chapel-lang/chapel","homepage":"http://chapel.cray.com/","size":463043,"stargazers_count":533,"watchers_count":533,"language":"Chapel","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":146,"mirror_url":null,"open_issues_count":433,"forks":146,"open_issues":433,"watchers":533,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/7621"},"html":{"href":"https://github.com/chapel-lang/chapel/pull/7621"},"issue":{"href":"https://api.github.com/repos/chapel-lang/chapel/issues/7621"},"comments":{"href":"https://api.github.com/repos/chapel-lang/chapel/issues/7621/comments"},"review_comments":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/7621/comments"},"review_comment":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/chapel-lang/chapel/pulls/7621/commits"},"statuses":{"href":"https://api.github.com/repos/chapel-lang/chapel/statuses/e2fdb76d37a696b1d065df0e7e78182c5018fc4b"}},"author_association":"MEMBER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"lydia-duncan","id":2454710,"avatar_url":"https://avatars2.githubusercontent.com/u/2454710?v=4","gravatar_id":"","url":"https://api.github.com/users/lydia-duncan","html_url":"https://github.com/lydia-duncan","followers_url":"https://api.github.com/users/lydia-duncan/followers","following_url":"https://api.github.com/users/lydia-duncan/following{/other_user}","gists_url":"https://api.github.com/users/lydia-duncan/gists{/gist_id}","starred_url":"https://api.github.com/users/lydia-duncan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lydia-duncan/subscriptions","organizations_url":"https://api.github.com/users/lydia-duncan/orgs","repos_url":"https://api.github.com/users/lydia-duncan/repos","events_url":"https://api.github.com/users/lydia-duncan/events{/privacy}","received_events_url":"https://api.github.com/users/lydia-duncan/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":2,"additions":121,"deletions":60,"changed_files":19}}
{"actor":{"display_login":"lydia-duncan"}}