{"action":"created","issue":{"url":"https://api.github.com/repos/ponylang/rfcs/issues/129","repository_url":"https://api.github.com/repos/ponylang/rfcs","labels_url":"https://api.github.com/repos/ponylang/rfcs/issues/129/labels{/name}","comments_url":"https://api.github.com/repos/ponylang/rfcs/issues/129/comments","events_url":"https://api.github.com/repos/ponylang/rfcs/issues/129/events","html_url":"https://github.com/ponylang/rfcs/pull/129","id":363103948,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3NjIzNTQ5","number":129,"title":"Function argument alias","user":{"login":"malthe","id":26405,"node_id":"MDQ6VXNlcjI2NDA1","avatar_url":"https://avatars0.githubusercontent.com/u/26405?v=4","gravatar_id":"","url":"https://api.github.com/users/malthe","html_url":"https://github.com/malthe","followers_url":"https://api.github.com/users/malthe/followers","following_url":"https://api.github.com/users/malthe/following{/other_user}","gists_url":"https://api.github.com/users/malthe/gists{/gist_id}","starred_url":"https://api.github.com/users/malthe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/malthe/subscriptions","organizations_url":"https://api.github.com/users/malthe/orgs","repos_url":"https://api.github.com/users/malthe/repos","events_url":"https://api.github.com/users/malthe/events{/privacy}","received_events_url":"https://api.github.com/users/malthe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-24T11:20:29Z","updated_at":"2018-09-26T19:59:37Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ponylang/rfcs/pulls/129","html_url":"https://github.com/ponylang/rfcs/pull/129","diff_url":"https://github.com/ponylang/rfcs/pull/129.diff","patch_url":"https://github.com/ponylang/rfcs/pull/129.patch"},"body":"Pony's shadowing prohibition means that using an object field or method name as a function argument is not allowed. This is a proposal to add an optional clause to function arguments that gives the argument a local alias.\r\n\r\n[Rendered](https://github.com/malthe/pony-rfcs/blob/function-argument-alias/text/0000-function-argument-alias.md)"},"comment":{"url":"https://api.github.com/repos/ponylang/rfcs/issues/comments/424849720","html_url":"https://github.com/ponylang/rfcs/pull/129#issuecomment-424849720","issue_url":"https://api.github.com/repos/ponylang/rfcs/issues/129","id":424849720,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNDg0OTcyMA==","user":{"login":"jemc","id":4623870,"node_id":"MDQ6VXNlcjQ2MjM4NzA=","avatar_url":"https://avatars0.githubusercontent.com/u/4623870?v=4","gravatar_id":"","url":"https://api.github.com/users/jemc","html_url":"https://github.com/jemc","followers_url":"https://api.github.com/users/jemc/followers","following_url":"https://api.github.com/users/jemc/following{/other_user}","gists_url":"https://api.github.com/users/jemc/gists{/gist_id}","starred_url":"https://api.github.com/users/jemc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jemc/subscriptions","organizations_url":"https://api.github.com/users/jemc/orgs","repos_url":"https://api.github.com/users/jemc/repos","events_url":"https://api.github.com/users/jemc/events{/privacy}","received_events_url":"https://api.github.com/users/jemc/received_events","type":"User","site_admin":false},"created_at":"2018-09-26T19:59:37Z","updated_at":"2018-09-26T19:59:37Z","author_association":"MEMBER","body":"We discussed this on today's sync call. @sylvanc suggested (and @kulibali, @mfelsche, and I agreed) that a good alternative to solve this set of problems is to allow locals to shadow members (fields and methods), with the understanding that members will always be accessible by prefixing with `this.`\r\n\r\nThis would make the `as` workaround unnecessary, and would solve several other problems, while still preventing the worst of shadowing issues.\r\n\r\nI mentioned that we'd have to make sure that error messages would try to detect and suggest disambiguation issues when you forget to use `this.`\r\n\r\n@mfelsche mentioned that it would be important to update the tutorial to reflect that change."}}
{"actor":{"display_login":"jemc"}}