{"action":"closed","issue":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/6039","repository_url":"https://api.github.com/repos/HaxeFoundation/haxe","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/6039/labels{/name}","comments_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/6039/comments","events_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/6039/events","html_url":"https://github.com/HaxeFoundation/haxe/issues/6039","id":208396099,"node_id":"MDU6SXNzdWUyMDgzOTYwOTk=","number":6039,"title":"[cs] Empty argument name generated for delegates inside abstract class","user":{"login":"dkolyesnik","id":8667754,"node_id":"MDQ6VXNlcjg2Njc3NTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/8667754?v=4","gravatar_id":"","url":"https://api.github.com/users/dkolyesnik","html_url":"https://github.com/dkolyesnik","followers_url":"https://api.github.com/users/dkolyesnik/followers","following_url":"https://api.github.com/users/dkolyesnik/following{/other_user}","gists_url":"https://api.github.com/users/dkolyesnik/gists{/gist_id}","starred_url":"https://api.github.com/users/dkolyesnik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkolyesnik/subscriptions","organizations_url":"https://api.github.com/users/dkolyesnik/orgs","repos_url":"https://api.github.com/users/dkolyesnik/repos","events_url":"https://api.github.com/users/dkolyesnik/events{/privacy}","received_events_url":"https://api.github.com/users/dkolyesnik/received_events","type":"User","site_admin":false},"labels":[{"id":41000432,"node_id":"MDU6TGFiZWw0MTAwMDQzMg==","url":"https://api.github.com/repos/HaxeFoundation/haxe/labels/bug","name":"bug","color":"fc2929","default":true},{"id":41276167,"node_id":"MDU6TGFiZWw0MTI3NjE2Nw==","url":"https://api.github.com/repos/HaxeFoundation/haxe/labels/platform-cs","name":"platform-cs","color":"bfe5bf","default":false}],"state":"closed","locked":false,"assignee":{"login":"waneck","id":178171,"node_id":"MDQ6VXNlcjE3ODE3MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/178171?v=4","gravatar_id":"","url":"https://api.github.com/users/waneck","html_url":"https://github.com/waneck","followers_url":"https://api.github.com/users/waneck/followers","following_url":"https://api.github.com/users/waneck/following{/other_user}","gists_url":"https://api.github.com/users/waneck/gists{/gist_id}","starred_url":"https://api.github.com/users/waneck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waneck/subscriptions","organizations_url":"https://api.github.com/users/waneck/orgs","repos_url":"https://api.github.com/users/waneck/repos","events_url":"https://api.github.com/users/waneck/events{/privacy}","received_events_url":"https://api.github.com/users/waneck/received_events","type":"User","site_admin":false},"assignees":[{"login":"waneck","id":178171,"node_id":"MDQ6VXNlcjE3ODE3MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/178171?v=4","gravatar_id":"","url":"https://api.github.com/users/waneck","html_url":"https://github.com/waneck","followers_url":"https://api.github.com/users/waneck/followers","following_url":"https://api.github.com/users/waneck/following{/other_user}","gists_url":"https://api.github.com/users/waneck/gists{/gist_id}","starred_url":"https://api.github.com/users/waneck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waneck/subscriptions","organizations_url":"https://api.github.com/users/waneck/orgs","repos_url":"https://api.github.com/users/waneck/repos","events_url":"https://api.github.com/users/waneck/events{/privacy}","received_events_url":"https://api.github.com/users/waneck/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/milestones/12","html_url":"https://github.com/HaxeFoundation/haxe/milestone/12","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/milestones/12/labels","id":3272779,"node_id":"MDk6TWlsZXN0b25lMzI3Mjc3OQ==","number":12,"title":"Bugs","description":"We probably have to do something, but we might not know how.","creator":{"login":"Simn","id":634365,"node_id":"MDQ6VXNlcjYzNDM2NQ==","avatar_url":"https://avatars3.githubusercontent.com/u/634365?v=4","gravatar_id":"","url":"https://api.github.com/users/Simn","html_url":"https://github.com/Simn","followers_url":"https://api.github.com/users/Simn/followers","following_url":"https://api.github.com/users/Simn/following{/other_user}","gists_url":"https://api.github.com/users/Simn/gists{/gist_id}","starred_url":"https://api.github.com/users/Simn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Simn/subscriptions","organizations_url":"https://api.github.com/users/Simn/orgs","repos_url":"https://api.github.com/users/Simn/repos","events_url":"https://api.github.com/users/Simn/events{/privacy}","received_events_url":"https://api.github.com/users/Simn/received_events","type":"User","site_admin":false},"open_issues":225,"closed_issues":67,"state":"open","created_at":"2018-04-17T06:03:38Z","updated_at":"2018-06-18T03:52:21Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2017-02-17T10:16:12Z","updated_at":"2018-06-18T03:52:19Z","closed_at":"2018-06-18T03:52:19Z","author_association":"NONE","body":"Haxe 3.4.0 \r\nTrying to create abstract over cs.system.Action_1 \r\nDelegate declared in generated c# code do not have an argument name:\r\nhaxe:\r\n```\r\nabstract Callback(cs.system.Action_1<String>) from Action_1<String> to Action_1<String>{\r\n\tfunction new(f)\r\n\t\tthis = f;\r\n\r\n\tpublic function invokeIt(data:String):Void\r\n\t\tthis.Invoke(data);\r\n\t\r\n\t@:from static function fromHaxeFunc(foo:String->Void):Callback\r\n\t\treturn new Callback(new Action_1<String>(foo));\r\n}\r\n```\r\n\r\nGenerated c#\r\n```\r\npublic class Callback_Impl__fromHaxeFunc_58__Fun : global::haxe.lang.Function {\r\n\t\tpublic Callback_Impl__fromHaxeFunc_58__Fun(global::haxe.lang.Function foo) : base(1, 0) {\r\n\t\t\tthis.foo = foo;\r\n\t\t}\r\n\t\tpublic override object __hx_invoke1_o(double __fn_float1, object __fn_dyn1) {\r\n\t\t\tstring  = ( (( __fn_dyn1 == global::haxe.lang.Runtime.undefined )) ? (global::haxe.lang.Runtime.toString(__fn_float1)) : (global::haxe.lang.Runtime.toString(__fn_dyn1)) );\r\n\t\t\tthis.Delegate();\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tpublic void Delegate(string ) {\r\n\t\t\tthis.foo.__hx_invoke1_o(default(double), );\r\n\t\t}\r\n\t\tpublic global::haxe.lang.Function foo;\r\n}\r\n```\r\nthis results in c# compilation error :\r\nsrc\\abstracts\\Callback.cs(45,31): error CS1001: Identifier expected\r\nCompilation error\r\nNative compilation failed\r\nPointing to public void Delegate(string ) ...   line\r\nfull example here https://gist.github.com/dkolyesnik/0d8b0be2895c47de7965eda5348ff686"}}
{"actor":{"display_login":"waneck"}}