{"action":"created","comment":{"url":"https://api.github.com/repos/dropbox/djinni/pulls/comments/44501327","id":44501327,"diff_hunk":"@@ -80,7 +80,11 @@ namespace djinni\n \t\tBool() : Primitive(\"java/lang/Boolean\", \"valueOf\", \"(Z)Ljava/lang/Boolean;\", \"booleanValue\", \"()Z\") {}\n \t\tfriend JniClass<Bool>;\n \t\tfriend Primitive<Bool, bool, jboolean>;\n-\t\tstatic JniType unbox(JNIEnv* jniEnv, jmethodID method, jobject j) noexcept { return jniEnv->CallBooleanMethod(j, method); }\n+\t\tstatic JniType unbox(JNIEnv* jniEnv, jmethodID method, jobject j) noexcept {\n+            const auto result = jniEnv->CallBooleanMethod(j, method);","path":"support-lib/jni/Marshal.hpp","position":6,"original_position":6,"commit_id":"5bc381438ab165318b49506dc990311a55586752","original_commit_id":"5bc381438ab165318b49506dc990311a55586752","user":{"login":"artwyman","id":1761206,"avatar_url":"https://avatars.githubusercontent.com/u/1761206?v=3","gravatar_id":"","url":"https://api.github.com/users/artwyman","html_url":"https://github.com/artwyman","followers_url":"https://api.github.com/users/artwyman/followers","following_url":"https://api.github.com/users/artwyman/following{/other_user}","gists_url":"https://api.github.com/users/artwyman/gists{/gist_id}","starred_url":"https://api.github.com/users/artwyman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artwyman/subscriptions","organizations_url":"https://api.github.com/users/artwyman/orgs","repos_url":"https://api.github.com/users/artwyman/repos","events_url":"https://api.github.com/users/artwyman/events{/privacy}","received_events_url":"https://api.github.com/users/artwyman/received_events","type":"User","site_admin":false},"body":"Yeah, not a worry for primitives.  I did an explicit move of a LocalRef in djinni_support.cpp, but in this case I just followed my default of making everything const if it can be.  I think that RVO should actually make this method neither copy nor move regardless.","created_at":"2015-11-11T04:45:59Z","updated_at":"2015-11-11T04:45:59Z","html_url":"https://github.com/dropbox/djinni/pull/161#discussion_r44501327","pull_request_url":"https://api.github.com/repos/dropbox/djinni/pulls/161","_links":{"self":{"href":"https://api.github.com/repos/dropbox/djinni/pulls/comments/44501327"},"html":{"href":"https://github.com/dropbox/djinni/pull/161#discussion_r44501327"},"pull_request":{"href":"https://api.github.com/repos/dropbox/djinni/pulls/161"}}},"pull_request":{"url":"https://api.github.com/repos/dropbox/djinni/pulls/161","id":50347294,"html_url":"https://github.com/dropbox/djinni/pull/161","diff_url":"https://github.com/dropbox/djinni/pull/161.diff","patch_url":"https://github.com/dropbox/djinni/pull/161.patch","issue_url":"https://api.github.com/repos/dropbox/djinni/issues/161","number":161,"state":"open","locked":false,"title":"Add extra exception checks based on warnings","user":{"login":"artwyman","id":1761206,"avatar_url":"https://avatars.githubusercontent.com/u/1761206?v=3","gravatar_id":"","url":"https://api.github.com/users/artwyman","html_url":"https://github.com/artwyman","followers_url":"https://api.github.com/users/artwyman/followers","following_url":"https://api.github.com/users/artwyman/following{/other_user}","gists_url":"https://api.github.com/users/artwyman/gists{/gist_id}","starred_url":"https://api.github.com/users/artwyman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artwyman/subscriptions","organizations_url":"https://api.github.com/users/artwyman/orgs","repos_url":"https://api.github.com/users/artwyman/repos","events_url":"https://api.github.com/users/artwyman/events{/privacy}","received_events_url":"https://api.github.com/users/artwyman/received_events","type":"User","site_admin":false},"body":"This addresses most but not all of the warnings in #152.  See my notes in the issue for my best theory on the remaining ones.\r\n\r\nThis appears stable in Dropbox code, but LocalRef leaks can be hard to detect.  @j4cbo @mknejp I could use another set of eyes on this before I merge it.","created_at":"2015-11-11T04:34:21Z","updated_at":"2015-11-11T04:45:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a1deb5bb6f170804dd6b9bf4c32d39c3fe724b11","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dropbox/djinni/pulls/161/commits","review_comments_url":"https://api.github.com/repos/dropbox/djinni/pulls/161/comments","review_comment_url":"https://api.github.com/repos/dropbox/djinni/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dropbox/djinni/issues/161/comments","statuses_url":"https://api.github.com/repos/dropbox/djinni/statuses/5bc381438ab165318b49506dc990311a55586752","head":{"label":"dropbox:atwyman/JniExceptionCheck","ref":"atwyman/JniExceptionCheck","sha":"5bc381438ab165318b49506dc990311a55586752","user":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"repo":{"id":23806326,"name":"djinni","full_name":"dropbox/djinni","owner":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dropbox/djinni","description":"A tool for generating cross-language type declarations and interface bindings.","fork":false,"url":"https://api.github.com/repos/dropbox/djinni","forks_url":"https://api.github.com/repos/dropbox/djinni/forks","keys_url":"https://api.github.com/repos/dropbox/djinni/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dropbox/djinni/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dropbox/djinni/teams","hooks_url":"https://api.github.com/repos/dropbox/djinni/hooks","issue_events_url":"https://api.github.com/repos/dropbox/djinni/issues/events{/number}","events_url":"https://api.github.com/repos/dropbox/djinni/events","assignees_url":"https://api.github.com/repos/dropbox/djinni/assignees{/user}","branches_url":"https://api.github.com/repos/dropbox/djinni/branches{/branch}","tags_url":"https://api.github.com/repos/dropbox/djinni/tags","blobs_url":"https://api.github.com/repos/dropbox/djinni/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dropbox/djinni/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dropbox/djinni/git/refs{/sha}","trees_url":"https://api.github.com/repos/dropbox/djinni/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dropbox/djinni/statuses/{sha}","languages_url":"https://api.github.com/repos/dropbox/djinni/languages","stargazers_url":"https://api.github.com/repos/dropbox/djinni/stargazers","contributors_url":"https://api.github.com/repos/dropbox/djinni/contributors","subscribers_url":"https://api.github.com/repos/dropbox/djinni/subscribers","subscription_url":"https://api.github.com/repos/dropbox/djinni/subscription","commits_url":"https://api.github.com/repos/dropbox/djinni/commits{/sha}","git_commits_url":"https://api.github.com/repos/dropbox/djinni/git/commits{/sha}","comments_url":"https://api.github.com/repos/dropbox/djinni/comments{/number}","issue_comment_url":"https://api.github.com/repos/dropbox/djinni/issues/comments{/number}","contents_url":"https://api.github.com/repos/dropbox/djinni/contents/{+path}","compare_url":"https://api.github.com/repos/dropbox/djinni/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dropbox/djinni/merges","archive_url":"https://api.github.com/repos/dropbox/djinni/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dropbox/djinni/downloads","issues_url":"https://api.github.com/repos/dropbox/djinni/issues{/number}","pulls_url":"https://api.github.com/repos/dropbox/djinni/pulls{/number}","milestones_url":"https://api.github.com/repos/dropbox/djinni/milestones{/number}","notifications_url":"https://api.github.com/repos/dropbox/djinni/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dropbox/djinni/labels{/name}","releases_url":"https://api.github.com/repos/dropbox/djinni/releases{/id}","created_at":"2014-09-08T20:09:32Z","updated_at":"2015-11-10T18:12:35Z","pushed_at":"2015-11-11T04:34:21Z","git_url":"git://github.com/dropbox/djinni.git","ssh_url":"git@github.com:dropbox/djinni.git","clone_url":"https://github.com/dropbox/djinni.git","svn_url":"https://github.com/dropbox/djinni","homepage":"","size":4168,"stargazers_count":872,"watchers_count":872,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":113,"mirror_url":null,"open_issues_count":48,"forks":113,"open_issues":48,"watchers":872,"default_branch":"master"}},"base":{"label":"dropbox:master","ref":"master","sha":"53fd6bc70f546e46986b423a3a3d5ca137db0733","user":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"repo":{"id":23806326,"name":"djinni","full_name":"dropbox/djinni","owner":{"login":"dropbox","id":559357,"avatar_url":"https://avatars.githubusercontent.com/u/559357?v=3","gravatar_id":"","url":"https://api.github.com/users/dropbox","html_url":"https://github.com/dropbox","followers_url":"https://api.github.com/users/dropbox/followers","following_url":"https://api.github.com/users/dropbox/following{/other_user}","gists_url":"https://api.github.com/users/dropbox/gists{/gist_id}","starred_url":"https://api.github.com/users/dropbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dropbox/subscriptions","organizations_url":"https://api.github.com/users/dropbox/orgs","repos_url":"https://api.github.com/users/dropbox/repos","events_url":"https://api.github.com/users/dropbox/events{/privacy}","received_events_url":"https://api.github.com/users/dropbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dropbox/djinni","description":"A tool for generating cross-language type declarations and interface bindings.","fork":false,"url":"https://api.github.com/repos/dropbox/djinni","forks_url":"https://api.github.com/repos/dropbox/djinni/forks","keys_url":"https://api.github.com/repos/dropbox/djinni/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dropbox/djinni/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dropbox/djinni/teams","hooks_url":"https://api.github.com/repos/dropbox/djinni/hooks","issue_events_url":"https://api.github.com/repos/dropbox/djinni/issues/events{/number}","events_url":"https://api.github.com/repos/dropbox/djinni/events","assignees_url":"https://api.github.com/repos/dropbox/djinni/assignees{/user}","branches_url":"https://api.github.com/repos/dropbox/djinni/branches{/branch}","tags_url":"https://api.github.com/repos/dropbox/djinni/tags","blobs_url":"https://api.github.com/repos/dropbox/djinni/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dropbox/djinni/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dropbox/djinni/git/refs{/sha}","trees_url":"https://api.github.com/repos/dropbox/djinni/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dropbox/djinni/statuses/{sha}","languages_url":"https://api.github.com/repos/dropbox/djinni/languages","stargazers_url":"https://api.github.com/repos/dropbox/djinni/stargazers","contributors_url":"https://api.github.com/repos/dropbox/djinni/contributors","subscribers_url":"https://api.github.com/repos/dropbox/djinni/subscribers","subscription_url":"https://api.github.com/repos/dropbox/djinni/subscription","commits_url":"https://api.github.com/repos/dropbox/djinni/commits{/sha}","git_commits_url":"https://api.github.com/repos/dropbox/djinni/git/commits{/sha}","comments_url":"https://api.github.com/repos/dropbox/djinni/comments{/number}","issue_comment_url":"https://api.github.com/repos/dropbox/djinni/issues/comments{/number}","contents_url":"https://api.github.com/repos/dropbox/djinni/contents/{+path}","compare_url":"https://api.github.com/repos/dropbox/djinni/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dropbox/djinni/merges","archive_url":"https://api.github.com/repos/dropbox/djinni/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dropbox/djinni/downloads","issues_url":"https://api.github.com/repos/dropbox/djinni/issues{/number}","pulls_url":"https://api.github.com/repos/dropbox/djinni/pulls{/number}","milestones_url":"https://api.github.com/repos/dropbox/djinni/milestones{/number}","notifications_url":"https://api.github.com/repos/dropbox/djinni/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dropbox/djinni/labels{/name}","releases_url":"https://api.github.com/repos/dropbox/djinni/releases{/id}","created_at":"2014-09-08T20:09:32Z","updated_at":"2015-11-10T18:12:35Z","pushed_at":"2015-11-11T04:34:21Z","git_url":"git://github.com/dropbox/djinni.git","ssh_url":"git@github.com:dropbox/djinni.git","clone_url":"https://github.com/dropbox/djinni.git","svn_url":"https://github.com/dropbox/djinni","homepage":"","size":4168,"stargazers_count":872,"watchers_count":872,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":113,"mirror_url":null,"open_issues_count":48,"forks":113,"open_issues":48,"watchers":872,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dropbox/djinni/pulls/161"},"html":{"href":"https://github.com/dropbox/djinni/pull/161"},"issue":{"href":"https://api.github.com/repos/dropbox/djinni/issues/161"},"comments":{"href":"https://api.github.com/repos/dropbox/djinni/issues/161/comments"},"review_comments":{"href":"https://api.github.com/repos/dropbox/djinni/pulls/161/comments"},"review_comment":{"href":"https://api.github.com/repos/dropbox/djinni/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dropbox/djinni/pulls/161/commits"},"statuses":{"href":"https://api.github.com/repos/dropbox/djinni/statuses/5bc381438ab165318b49506dc990311a55586752"}}}}