{"action":"created","comment":{"url":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments/244555164","pull_request_review_id":188462065,"id":244555164,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDU1NTE2NA==","diff_hunk":"@@ -1150,9 +1150,21 @@ defmodule Protocol.UndefinedError do\n \n   @impl true\n   def message(%{protocol: protocol, value: value, description: description}) do\n-    \"protocol #{inspect(protocol)} not implemented for #{inspect(value)}\" <>\n-      maybe_description(description) <> maybe_available(protocol)\n-  end\n+    \"protocol #{inspect(protocol)} not implemented for #{inspect(value)} of type \" <>\n+      value_type(value) <> maybe_description(description) <> maybe_available(protocol)\n+  end\n+\n+  defp value_type(value) when is_bitstring(value), do: \"BitString\"","path":"lib/elixir/lib/exception.ex","position":10,"original_position":11,"commit_id":"db2b964ce4f0e060dd14fa3972daa041662802d3","original_commit_id":"63e8036ddc472e0a5301f5cb118362f33dd7418f","user":{"login":"treble37","id":777964,"node_id":"MDQ6VXNlcjc3Nzk2NA==","avatar_url":"https://avatars0.githubusercontent.com/u/777964?v=4","gravatar_id":"","url":"https://api.github.com/users/treble37","html_url":"https://github.com/treble37","followers_url":"https://api.github.com/users/treble37/followers","following_url":"https://api.github.com/users/treble37/following{/other_user}","gists_url":"https://api.github.com/users/treble37/gists{/gist_id}","starred_url":"https://api.github.com/users/treble37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/treble37/subscriptions","organizations_url":"https://api.github.com/users/treble37/orgs","repos_url":"https://api.github.com/users/treble37/repos","events_url":"https://api.github.com/users/treble37/events{/privacy}","received_events_url":"https://api.github.com/users/treble37/received_events","type":"User","site_admin":false},"body":"Updated @josevalim 😃 ","created_at":"2018-12-31T05:36:42Z","updated_at":"2018-12-31T05:36:42Z","html_url":"https://github.com/elixir-lang/elixir/pull/8579#discussion_r244555164","pull_request_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments/244555164"},"html":{"href":"https://github.com/elixir-lang/elixir/pull/8579#discussion_r244555164"},"pull_request":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579"}},"in_reply_to_id":244527509},"pull_request":{"url":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579","id":241480166,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxNDgwMTY2","html_url":"https://github.com/elixir-lang/elixir/pull/8579","diff_url":"https://github.com/elixir-lang/elixir/pull/8579.diff","patch_url":"https://github.com/elixir-lang/elixir/pull/8579.patch","issue_url":"https://api.github.com/repos/elixir-lang/elixir/issues/8579","number":8579,"state":"open","locked":false,"title":"Improve Protocol.UndefinedError message...","user":{"login":"treble37","id":777964,"node_id":"MDQ6VXNlcjc3Nzk2NA==","avatar_url":"https://avatars0.githubusercontent.com/u/777964?v=4","gravatar_id":"","url":"https://api.github.com/users/treble37","html_url":"https://github.com/treble37","followers_url":"https://api.github.com/users/treble37/followers","following_url":"https://api.github.com/users/treble37/following{/other_user}","gists_url":"https://api.github.com/users/treble37/gists{/gist_id}","starred_url":"https://api.github.com/users/treble37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/treble37/subscriptions","organizations_url":"https://api.github.com/users/treble37/orgs","repos_url":"https://api.github.com/users/treble37/repos","events_url":"https://api.github.com/users/treble37/events{/privacy}","received_events_url":"https://api.github.com/users/treble37/received_events","type":"User","site_admin":false},"body":"when passing the module name of a struct\r\n\r\nAddresses https://github.com/elixir-lang/elixir/issues/8532\r\n\r\nEDIT: Just took a stab at this issue based on the comments I read, I was hoping to find a better way to infer the type of value, but I used guard clauses, open to suggestions of how to improve this if any....","created_at":"2018-12-30T07:47:46Z","updated_at":"2018-12-31T05:36:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0de8d609fcce109ad7937b8378a96b027a9c8702","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579/commits","review_comments_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579/comments","review_comment_url":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments{/number}","comments_url":"https://api.github.com/repos/elixir-lang/elixir/issues/8579/comments","statuses_url":"https://api.github.com/repos/elixir-lang/elixir/statuses/db2b964ce4f0e060dd14fa3972daa041662802d3","head":{"label":"treble37:error_8532","ref":"error_8532","sha":"db2b964ce4f0e060dd14fa3972daa041662802d3","user":{"login":"treble37","id":777964,"node_id":"MDQ6VXNlcjc3Nzk2NA==","avatar_url":"https://avatars0.githubusercontent.com/u/777964?v=4","gravatar_id":"","url":"https://api.github.com/users/treble37","html_url":"https://github.com/treble37","followers_url":"https://api.github.com/users/treble37/followers","following_url":"https://api.github.com/users/treble37/following{/other_user}","gists_url":"https://api.github.com/users/treble37/gists{/gist_id}","starred_url":"https://api.github.com/users/treble37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/treble37/subscriptions","organizations_url":"https://api.github.com/users/treble37/orgs","repos_url":"https://api.github.com/users/treble37/repos","events_url":"https://api.github.com/users/treble37/events{/privacy}","received_events_url":"https://api.github.com/users/treble37/received_events","type":"User","site_admin":false},"repo":{"id":77297301,"node_id":"MDEwOlJlcG9zaXRvcnk3NzI5NzMwMQ==","name":"elixir","full_name":"treble37/elixir","private":false,"owner":{"login":"treble37","id":777964,"node_id":"MDQ6VXNlcjc3Nzk2NA==","avatar_url":"https://avatars0.githubusercontent.com/u/777964?v=4","gravatar_id":"","url":"https://api.github.com/users/treble37","html_url":"https://github.com/treble37","followers_url":"https://api.github.com/users/treble37/followers","following_url":"https://api.github.com/users/treble37/following{/other_user}","gists_url":"https://api.github.com/users/treble37/gists{/gist_id}","starred_url":"https://api.github.com/users/treble37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/treble37/subscriptions","organizations_url":"https://api.github.com/users/treble37/orgs","repos_url":"https://api.github.com/users/treble37/repos","events_url":"https://api.github.com/users/treble37/events{/privacy}","received_events_url":"https://api.github.com/users/treble37/received_events","type":"User","site_admin":false},"html_url":"https://github.com/treble37/elixir","description":"Elixir is a dynamic, functional language designed for building scalable and maintainable applications","fork":true,"url":"https://api.github.com/repos/treble37/elixir","forks_url":"https://api.github.com/repos/treble37/elixir/forks","keys_url":"https://api.github.com/repos/treble37/elixir/keys{/key_id}","collaborators_url":"https://api.github.com/repos/treble37/elixir/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/treble37/elixir/teams","hooks_url":"https://api.github.com/repos/treble37/elixir/hooks","issue_events_url":"https://api.github.com/repos/treble37/elixir/issues/events{/number}","events_url":"https://api.github.com/repos/treble37/elixir/events","assignees_url":"https://api.github.com/repos/treble37/elixir/assignees{/user}","branches_url":"https://api.github.com/repos/treble37/elixir/branches{/branch}","tags_url":"https://api.github.com/repos/treble37/elixir/tags","blobs_url":"https://api.github.com/repos/treble37/elixir/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/treble37/elixir/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/treble37/elixir/git/refs{/sha}","trees_url":"https://api.github.com/repos/treble37/elixir/git/trees{/sha}","statuses_url":"https://api.github.com/repos/treble37/elixir/statuses/{sha}","languages_url":"https://api.github.com/repos/treble37/elixir/languages","stargazers_url":"https://api.github.com/repos/treble37/elixir/stargazers","contributors_url":"https://api.github.com/repos/treble37/elixir/contributors","subscribers_url":"https://api.github.com/repos/treble37/elixir/subscribers","subscription_url":"https://api.github.com/repos/treble37/elixir/subscription","commits_url":"https://api.github.com/repos/treble37/elixir/commits{/sha}","git_commits_url":"https://api.github.com/repos/treble37/elixir/git/commits{/sha}","comments_url":"https://api.github.com/repos/treble37/elixir/comments{/number}","issue_comment_url":"https://api.github.com/repos/treble37/elixir/issues/comments{/number}","contents_url":"https://api.github.com/repos/treble37/elixir/contents/{+path}","compare_url":"https://api.github.com/repos/treble37/elixir/compare/{base}...{head}","merges_url":"https://api.github.com/repos/treble37/elixir/merges","archive_url":"https://api.github.com/repos/treble37/elixir/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/treble37/elixir/downloads","issues_url":"https://api.github.com/repos/treble37/elixir/issues{/number}","pulls_url":"https://api.github.com/repos/treble37/elixir/pulls{/number}","milestones_url":"https://api.github.com/repos/treble37/elixir/milestones{/number}","notifications_url":"https://api.github.com/repos/treble37/elixir/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/treble37/elixir/labels{/name}","releases_url":"https://api.github.com/repos/treble37/elixir/releases{/id}","deployments_url":"https://api.github.com/repos/treble37/elixir/deployments","created_at":"2016-12-24T19:22:18Z","updated_at":"2018-12-30T07:38:57Z","pushed_at":"2018-12-31T05:22:54Z","git_url":"git://github.com/treble37/elixir.git","ssh_url":"git@github.com:treble37/elixir.git","clone_url":"https://github.com/treble37/elixir.git","svn_url":"https://github.com/treble37/elixir","homepage":"http://elixir-lang.org/","size":38078,"stargazers_count":0,"watchers_count":0,"language":"Elixir","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":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"elixir-lang:master","ref":"master","sha":"759a2ba1330eabd5352f22b9b8d345fa3a09e6b2","user":{"login":"elixir-lang","id":1481354,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0ODEzNTQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1481354?v=4","gravatar_id":"","url":"https://api.github.com/users/elixir-lang","html_url":"https://github.com/elixir-lang","followers_url":"https://api.github.com/users/elixir-lang/followers","following_url":"https://api.github.com/users/elixir-lang/following{/other_user}","gists_url":"https://api.github.com/users/elixir-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/elixir-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elixir-lang/subscriptions","organizations_url":"https://api.github.com/users/elixir-lang/orgs","repos_url":"https://api.github.com/users/elixir-lang/repos","events_url":"https://api.github.com/users/elixir-lang/events{/privacy}","received_events_url":"https://api.github.com/users/elixir-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":1234714,"node_id":"MDEwOlJlcG9zaXRvcnkxMjM0NzE0","name":"elixir","full_name":"elixir-lang/elixir","private":false,"owner":{"login":"elixir-lang","id":1481354,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0ODEzNTQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1481354?v=4","gravatar_id":"","url":"https://api.github.com/users/elixir-lang","html_url":"https://github.com/elixir-lang","followers_url":"https://api.github.com/users/elixir-lang/followers","following_url":"https://api.github.com/users/elixir-lang/following{/other_user}","gists_url":"https://api.github.com/users/elixir-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/elixir-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elixir-lang/subscriptions","organizations_url":"https://api.github.com/users/elixir-lang/orgs","repos_url":"https://api.github.com/users/elixir-lang/repos","events_url":"https://api.github.com/users/elixir-lang/events{/privacy}","received_events_url":"https://api.github.com/users/elixir-lang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/elixir-lang/elixir","description":"Elixir is a dynamic, functional language designed for building scalable and maintainable applications","fork":false,"url":"https://api.github.com/repos/elixir-lang/elixir","forks_url":"https://api.github.com/repos/elixir-lang/elixir/forks","keys_url":"https://api.github.com/repos/elixir-lang/elixir/keys{/key_id}","collaborators_url":"https://api.github.com/repos/elixir-lang/elixir/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/elixir-lang/elixir/teams","hooks_url":"https://api.github.com/repos/elixir-lang/elixir/hooks","issue_events_url":"https://api.github.com/repos/elixir-lang/elixir/issues/events{/number}","events_url":"https://api.github.com/repos/elixir-lang/elixir/events","assignees_url":"https://api.github.com/repos/elixir-lang/elixir/assignees{/user}","branches_url":"https://api.github.com/repos/elixir-lang/elixir/branches{/branch}","tags_url":"https://api.github.com/repos/elixir-lang/elixir/tags","blobs_url":"https://api.github.com/repos/elixir-lang/elixir/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/elixir-lang/elixir/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/elixir-lang/elixir/git/refs{/sha}","trees_url":"https://api.github.com/repos/elixir-lang/elixir/git/trees{/sha}","statuses_url":"https://api.github.com/repos/elixir-lang/elixir/statuses/{sha}","languages_url":"https://api.github.com/repos/elixir-lang/elixir/languages","stargazers_url":"https://api.github.com/repos/elixir-lang/elixir/stargazers","contributors_url":"https://api.github.com/repos/elixir-lang/elixir/contributors","subscribers_url":"https://api.github.com/repos/elixir-lang/elixir/subscribers","subscription_url":"https://api.github.com/repos/elixir-lang/elixir/subscription","commits_url":"https://api.github.com/repos/elixir-lang/elixir/commits{/sha}","git_commits_url":"https://api.github.com/repos/elixir-lang/elixir/git/commits{/sha}","comments_url":"https://api.github.com/repos/elixir-lang/elixir/comments{/number}","issue_comment_url":"https://api.github.com/repos/elixir-lang/elixir/issues/comments{/number}","contents_url":"https://api.github.com/repos/elixir-lang/elixir/contents/{+path}","compare_url":"https://api.github.com/repos/elixir-lang/elixir/compare/{base}...{head}","merges_url":"https://api.github.com/repos/elixir-lang/elixir/merges","archive_url":"https://api.github.com/repos/elixir-lang/elixir/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/elixir-lang/elixir/downloads","issues_url":"https://api.github.com/repos/elixir-lang/elixir/issues{/number}","pulls_url":"https://api.github.com/repos/elixir-lang/elixir/pulls{/number}","milestones_url":"https://api.github.com/repos/elixir-lang/elixir/milestones{/number}","notifications_url":"https://api.github.com/repos/elixir-lang/elixir/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/elixir-lang/elixir/labels{/name}","releases_url":"https://api.github.com/repos/elixir-lang/elixir/releases{/id}","deployments_url":"https://api.github.com/repos/elixir-lang/elixir/deployments","created_at":"2011-01-09T08:43:57Z","updated_at":"2018-12-31T01:37:45Z","pushed_at":"2018-12-31T05:22:56Z","git_url":"git://github.com/elixir-lang/elixir.git","ssh_url":"git@github.com:elixir-lang/elixir.git","clone_url":"https://github.com/elixir-lang/elixir.git","svn_url":"https://github.com/elixir-lang/elixir","homepage":"http://elixir-lang.org/","size":38996,"stargazers_count":14448,"watchers_count":14448,"language":"Elixir","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2093,"mirror_url":null,"archived":false,"open_issues_count":20,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":2093,"open_issues":20,"watchers":14448,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579"},"html":{"href":"https://github.com/elixir-lang/elixir/pull/8579"},"issue":{"href":"https://api.github.com/repos/elixir-lang/elixir/issues/8579"},"comments":{"href":"https://api.github.com/repos/elixir-lang/elixir/issues/8579/comments"},"review_comments":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579/comments"},"review_comment":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/elixir-lang/elixir/pulls/8579/commits"},"statuses":{"href":"https://api.github.com/repos/elixir-lang/elixir/statuses/db2b964ce4f0e060dd14fa3972daa041662802d3"}},"author_association":"NONE"}}
{"actor":{"display_login":"treble37"}}