{"action":"created","issue":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5074","repository_url":"https://api.github.com/repos/HaxeFoundation/haxe","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5074/labels{/name}","comments_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5074/comments","events_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5074/events","html_url":"https://github.com/HaxeFoundation/haxe/issues/5074","id":146611923,"number":5074,"title":"[cpp] type 'null' does not have an overloaded member 'operator ->'","user":{"login":"Gama11","id":2620907,"avatar_url":"https://avatars.githubusercontent.com/u/2620907?v=3","gravatar_id":"","url":"https://api.github.com/users/Gama11","html_url":"https://github.com/Gama11","followers_url":"https://api.github.com/users/Gama11/followers","following_url":"https://api.github.com/users/Gama11/following{/other_user}","gists_url":"https://api.github.com/users/Gama11/gists{/gist_id}","starred_url":"https://api.github.com/users/Gama11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gama11/subscriptions","organizations_url":"https://api.github.com/users/Gama11/orgs","repos_url":"https://api.github.com/users/Gama11/repos","events_url":"https://api.github.com/users/Gama11/events{/privacy}","received_events_url":"https://api.github.com/users/Gama11/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/HaxeFoundation/haxe/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/HaxeFoundation/haxe/labels/feature-analyzer","name":"feature-analyzer","color":"207de5"}],"state":"open","locked":false,"assignee":{"login":"waneck","id":178171,"avatar_url":"https://avatars.githubusercontent.com/u/178171?v=3","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,"avatar_url":"https://avatars.githubusercontent.com/u/178171?v=3","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/11","html_url":"https://github.com/HaxeFoundation/haxe/milestones/3.3.0","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/milestones/11/labels","id":1599225,"number":11,"title":"3.3.0","description":"","creator":{"login":"Simn","id":634365,"avatar_url":"https://avatars.githubusercontent.com/u/634365?v=3","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":20,"closed_issues":29,"state":"open","created_at":"2016-02-23T09:11:44Z","updated_at":"2016-07-19T13:15:18Z","due_on":"2016-06-18T22:00:00Z","closed_at":null},"comments":27,"created_at":"2016-04-07T12:51:51Z","updated_at":"2016-07-22T13:00:24Z","closed_at":null,"body":"```haxe\r\nclass Main {\r\n\tpublic static function main() {}\r\n\t\r\n\tvar def(default, set):Def;\r\n\r\n\tfunction destroy() {\r\n\t\tdef = null;\r\n\t}\r\n\t\r\n\tinline function set_def(newDef:Def):Def {\r\n\t\tnewDef.apply();\r\n\t\treturn newDef;\r\n\t}\r\n}\r\n\r\nclass Def {\r\n\tpublic function apply() null;\r\n}\r\n```\r\n\r\n```\r\n./src/Main.cpp(32): error C2819: type 'null' does not have an overloaded member 'operator ->'\r\nc:\\haxetoolkit\\haxe\\lib\\hxcpp\\git\\include\\null.h(66): note: see declaration of 'null'\r\n./src/Main.cpp(32): note: did you intend to use '.' instead?\r\n./src/Main.cpp(32): error C2039: 'apply': is not a member of 'null'\r\nc:\\haxetoolkit\\haxe\\lib\\hxcpp\\git\\include\\null.h(66): note: see declaration of 'null'\r\n```\r\n\r\nInteresting dump:\r\n\r\n```haxe\r\ndestroy(method) : Void -> Void\r\n\r\n = function() = {\r\n\tnull.apply();\r\n}\r\n```\r\n\r\nRegression."},"comment":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/comments/234537171","html_url":"https://github.com/HaxeFoundation/haxe/issues/5074#issuecomment-234537171","issue_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5074","id":234537171,"user":{"login":"vroad","id":396351,"avatar_url":"https://avatars.githubusercontent.com/u/396351?v=3","gravatar_id":"","url":"https://api.github.com/users/vroad","html_url":"https://github.com/vroad","followers_url":"https://api.github.com/users/vroad/followers","following_url":"https://api.github.com/users/vroad/following{/other_user}","gists_url":"https://api.github.com/users/vroad/gists{/gist_id}","starred_url":"https://api.github.com/users/vroad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vroad/subscriptions","organizations_url":"https://api.github.com/users/vroad/orgs","repos_url":"https://api.github.com/users/vroad/repos","events_url":"https://api.github.com/users/vroad/events{/privacy}","received_events_url":"https://api.github.com/users/vroad/received_events","type":"User","site_admin":false},"created_at":"2016-07-22T13:00:24Z","updated_at":"2016-07-22T13:00:24Z","body":"That may explain why starling/openfl got slower. As they use default parameter in many places, performance difference caused by `Null<T>` will affect everywhere.\r\n\r\nI saw MSIL generated by Visual C#, though I'm not sure which change caused the issue. I only found that code generated by bad version is slightly bigger."}}
{"actor":{"display_login":"vroad"}}