{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/4260","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/4260/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/4260/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/4260/events","html_url":"https://github.com/dotnet/roslyn/pull/4260","id":98435943,"number":4260,"title":"Local functions update: Bugfixes and documentation","user":{"login":"khyperia","id":953151,"avatar_url":"https://avatars.githubusercontent.com/u/953151?v=3","gravatar_id":"","url":"https://api.github.com/users/khyperia","html_url":"https://github.com/khyperia","followers_url":"https://api.github.com/users/khyperia/followers","following_url":"https://api.github.com/users/khyperia/following{/other_user}","gists_url":"https://api.github.com/users/khyperia/gists{/gist_id}","starred_url":"https://api.github.com/users/khyperia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khyperia/subscriptions","organizations_url":"https://api.github.com/users/khyperia/orgs","repos_url":"https://api.github.com/users/khyperia/repos","events_url":"https://api.github.com/users/khyperia/events{/privacy}","received_events_url":"https://api.github.com/users/khyperia/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-31T17:32:03Z","updated_at":"2015-07-31T20:31:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/4260","html_url":"https://github.com/dotnet/roslyn/pull/4260","diff_url":"https://github.com/dotnet/roslyn/pull/4260.diff","patch_url":"https://github.com/dotnet/roslyn/pull/4260.patch"},"body":"In this PR:\r\n\r\n- Documentation (update local-functions.md, comments explaining why `var` is broken)\r\n- Fiddle with return type inference to attempt to fix it. Still broken.\r\n- LocalScopeBinder.cs: nasty bug with subtle fix, caused crash on `void Break<T>(Break x)` (local function name same as parameter type name, local function has to be generic) - what's worse is that this only happens in the editor, so it's not easily testable (as far as I know - so I haven't added a unit test for it)\r\n- BoundSwitchStatement: Added InnerLocalFunctions field, to report unused local functions in switch statements.\r\n- Disable inference of `void` and `Task` (on async locfuncs) with `var`.\r\n- Allow a semicolon after a local function statement (parsed as an empty no-op statement separate from the local function). Previously this was getting greedily eaten by the block parser with a syntax error.\r\n- Fix type parameter conflict detection, so nested local functions with the same type parameter name reports an error instead of usages silently choosing the innermost in-scope one.\r\n\r\nFYI @gafter @jaredpar @AlekseyTs @agocke These are just final bugfixes that I found when pounding on it the last week. It's been a fun summer!"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/126805853","html_url":"https://github.com/dotnet/roslyn/pull/4260#issuecomment-126805853","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/4260","id":126805853,"user":{"login":"jaredpar","id":146967,"avatar_url":"https://avatars.githubusercontent.com/u/146967?v=3","gravatar_id":"","url":"https://api.github.com/users/jaredpar","html_url":"https://github.com/jaredpar","followers_url":"https://api.github.com/users/jaredpar/followers","following_url":"https://api.github.com/users/jaredpar/following{/other_user}","gists_url":"https://api.github.com/users/jaredpar/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredpar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredpar/subscriptions","organizations_url":"https://api.github.com/users/jaredpar/orgs","repos_url":"https://api.github.com/users/jaredpar/repos","events_url":"https://api.github.com/users/jaredpar/events{/privacy}","received_events_url":"https://api.github.com/users/jaredpar/received_events","type":"User","site_admin":false},"created_at":"2015-07-31T20:31:25Z","updated_at":"2015-07-31T20:31:25Z","body":"@dotnet-bot test this please"}}