{"action":"created","issue":{"url":"https://api.github.com/repos/elixir-lang/elixir/issues/4037","repository_url":"https://api.github.com/repos/elixir-lang/elixir","labels_url":"https://api.github.com/repos/elixir-lang/elixir/issues/4037/labels{/name}","comments_url":"https://api.github.com/repos/elixir-lang/elixir/issues/4037/comments","events_url":"https://api.github.com/repos/elixir-lang/elixir/issues/4037/events","html_url":"https://github.com/elixir-lang/elixir/pull/4037","id":120070640,"number":4037,"title":"Adds support for optionalcallback and optionalmacrocallback","user":{"login":"stevedomin","id":512246,"avatar_url":"https://avatars.githubusercontent.com/u/512246?v=3","gravatar_id":"","url":"https://api.github.com/users/stevedomin","html_url":"https://github.com/stevedomin","followers_url":"https://api.github.com/users/stevedomin/followers","following_url":"https://api.github.com/users/stevedomin/following{/other_user}","gists_url":"https://api.github.com/users/stevedomin/gists{/gist_id}","starred_url":"https://api.github.com/users/stevedomin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevedomin/subscriptions","organizations_url":"https://api.github.com/users/stevedomin/orgs","repos_url":"https://api.github.com/users/stevedomin/repos","events_url":"https://api.github.com/users/stevedomin/events{/privacy}","received_events_url":"https://api.github.com/users/stevedomin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-12-03T00:57:04Z","updated_at":"2016-03-31T16:45:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/elixir-lang/elixir/pulls/4037","html_url":"https://github.com/elixir-lang/elixir/pull/4037","diff_url":"https://github.com/elixir-lang/elixir/pull/4037.diff","patch_url":"https://github.com/elixir-lang/elixir/pull/4037.patch"},"body":"The optionalcallback or optionalmacrocallback attribute also defines the\r\nErlang optional_callbacks attribute.\r\n\r\nIf a (macro)callback has been defined as optional(macro)callback and\r\n(macro)callback we emit a warning and defines the optional_callbacks\r\nattribute.\r\n\r\nhttp://www.erlang.org/doc/design_principles/spec_proc.html#id74952\r\n\r\nFixes https://github.com/elixir-lang/elixir/issues/3980"},"comment":{"url":"https://api.github.com/repos/elixir-lang/elixir/issues/comments/204015386","html_url":"https://github.com/elixir-lang/elixir/pull/4037#issuecomment-204015386","issue_url":"https://api.github.com/repos/elixir-lang/elixir/issues/4037","id":204015386,"user":{"login":"lexmag","id":248290,"avatar_url":"https://avatars.githubusercontent.com/u/248290?v=3","gravatar_id":"","url":"https://api.github.com/users/lexmag","html_url":"https://github.com/lexmag","followers_url":"https://api.github.com/users/lexmag/followers","following_url":"https://api.github.com/users/lexmag/following{/other_user}","gists_url":"https://api.github.com/users/lexmag/gists{/gist_id}","starred_url":"https://api.github.com/users/lexmag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexmag/subscriptions","organizations_url":"https://api.github.com/users/lexmag/orgs","repos_url":"https://api.github.com/users/lexmag/repos","events_url":"https://api.github.com/users/lexmag/events{/privacy}","received_events_url":"https://api.github.com/users/lexmag/received_events","type":"User","site_admin":false},"created_at":"2016-03-31T16:45:22Z","updated_at":"2016-03-31T16:45:22Z","body":"2. :clap:"}}