{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/corefx/issues/21809","repository_url":"https://api.github.com/repos/dotnet/corefx","labels_url":"https://api.github.com/repos/dotnet/corefx/issues/21809/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/corefx/issues/21809/comments","events_url":"https://api.github.com/repos/dotnet/corefx/issues/21809/events","html_url":"https://github.com/dotnet/corefx/issues/21809","id":240030814,"number":21809,"title":"Proposal: CallerArgumentExpressionAttribute","user":{"login":"jamesqo","id":9159214,"avatar_url":"https://avatars0.githubusercontent.com/u/9159214?v=4","gravatar_id":"","url":"https://api.github.com/users/jamesqo","html_url":"https://github.com/jamesqo","followers_url":"https://api.github.com/users/jamesqo/followers","following_url":"https://api.github.com/users/jamesqo/following{/other_user}","gists_url":"https://api.github.com/users/jamesqo/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesqo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesqo/subscriptions","organizations_url":"https://api.github.com/users/jamesqo/orgs","repos_url":"https://api.github.com/users/jamesqo/repos","events_url":"https://api.github.com/users/jamesqo/events{/privacy}","received_events_url":"https://api.github.com/users/jamesqo/received_events","type":"User","site_admin":false},"labels":[{"id":163655927,"url":"https://api.github.com/repos/dotnet/corefx/labels/api-approved","name":"api-approved","color":"159818","default":false},{"id":373933374,"url":"https://api.github.com/repos/dotnet/corefx/labels/area-System.Runtime.CompilerServices","name":"area-System.Runtime.CompilerServices","color":"d4c5f9","default":false},{"id":145399958,"url":"https://api.github.com/repos/dotnet/corefx/labels/up-for-grabs","name":"up-for-grabs","color":"159818","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/dotnet/corefx/milestones/5","html_url":"https://github.com/dotnet/corefx/milestone/5","labels_url":"https://api.github.com/repos/dotnet/corefx/milestones/5/labels","id":1328080,"number":5,"title":"Future","description":"Milestone tracking issues not triaged to a planned release. Work in this milestone may happen, or may not: it is not committed.","creator":{"login":"joshfree","id":1302850,"avatar_url":"https://avatars1.githubusercontent.com/u/1302850?v=4","gravatar_id":"","url":"https://api.github.com/users/joshfree","html_url":"https://github.com/joshfree","followers_url":"https://api.github.com/users/joshfree/followers","following_url":"https://api.github.com/users/joshfree/following{/other_user}","gists_url":"https://api.github.com/users/joshfree/gists{/gist_id}","starred_url":"https://api.github.com/users/joshfree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshfree/subscriptions","organizations_url":"https://api.github.com/users/joshfree/orgs","repos_url":"https://api.github.com/users/joshfree/repos","events_url":"https://api.github.com/users/joshfree/events{/privacy}","received_events_url":"https://api.github.com/users/joshfree/received_events","type":"User","site_admin":false},"open_issues":1955,"closed_issues":140,"state":"open","created_at":"2015-09-29T00:25:45Z","updated_at":"2018-05-30T16:28:42Z","due_on":null,"closed_at":null},"comments":27,"created_at":"2017-07-02T19:52:48Z","updated_at":"2018-05-30T16:31:28Z","closed_at":null,"author_association":"COLLABORATOR","body":"## Rationale\r\n\r\nIn order to facilitate the language feature at https://github.com/dotnet/csharplang/issues/287, which has been championed and discussed in the LDM, we should add `CallerArgumentExpressionAttribute` to the framework. The LDM notes seem to approve of getting this into the framework: see [here](https://github.com/dotnet/csharplang/blob/master/meetings/2017/LDM-2017-05-16.md#callerargumentexpression).\r\n\r\n## Proposal\r\n\r\n```cs\r\nnamespace System.Runtime.CompilerServices\r\n{\r\n    [AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)]\r\n    public sealed class CallerArgumentExpressionAttribute : Attribute\r\n    {\r\n        public CallerArgumentExpressionAttribute(string parameterName);\r\n\r\n        // Added in response to @svick's comment\r\n        public string ParameterName { get; }\r\n    }\r\n}\r\n```\r\n\r\n## Notes\r\n\r\n- The name of the constructor argument is intentionally `parameterName` and not `argumentName`. Parameters refer to the variables declared inside the callee, while arguments are the values passed by the caller.\r\n\r\n![image](https://user-images.githubusercontent.com/9159214/27773044-483c57ac-5f3e-11e7-9a87-50876915a518.png)"},"comment":{"url":"https://api.github.com/repos/dotnet/corefx/issues/comments/393227813","html_url":"https://github.com/dotnet/corefx/issues/21809#issuecomment-393227813","issue_url":"https://api.github.com/repos/dotnet/corefx/issues/21809","id":393227813,"user":{"login":"jcouv","id":12466233,"avatar_url":"https://avatars2.githubusercontent.com/u/12466233?v=4","gravatar_id":"","url":"https://api.github.com/users/jcouv","html_url":"https://github.com/jcouv","followers_url":"https://api.github.com/users/jcouv/followers","following_url":"https://api.github.com/users/jcouv/following{/other_user}","gists_url":"https://api.github.com/users/jcouv/gists{/gist_id}","starred_url":"https://api.github.com/users/jcouv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcouv/subscriptions","organizations_url":"https://api.github.com/users/jcouv/orgs","repos_url":"https://api.github.com/users/jcouv/repos","events_url":"https://api.github.com/users/jcouv/events{/privacy}","received_events_url":"https://api.github.com/users/jcouv/received_events","type":"User","site_admin":false},"created_at":"2018-05-30T16:31:28Z","updated_at":"2018-05-30T16:31:28Z","author_association":"MEMBER","body":"Removed the \"blocked\" label accordingly."}}
{"actor":{"display_login":"jcouv"}}