{"action":"created","comment":{"url":"https://api.github.com/repos/dlang/dmd/pulls/comments/200581815","pull_request_review_id":134925679,"id":200581815,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDU4MTgxNQ==","diff_hunk":"@@ -652,196 +711,196 @@ void blockopt(int iter)\n \n void brcombine()\n {\n-    cmes(\"brcombine()\\n\");\n+    debug if (debugc) printf(\"brcombine()\\n\");\n     //numberBlocks(startblock);\n-    //for (block *b = startblock; b; b = b->Bnext)\n+    //for (block *b = startblock; b; b = b.Bnext)\n         //WRblock(b);\n \n-    if (funcsym_p->Sfunc->Fflags3 & (Fcppeh | Fnteh))\n+    if (funcsym_p.Sfunc.Fflags3 & (Fcppeh | Fnteh))\n     {   // Don't mess up extra EH info by eliminating blocks\n         return;\n     }\n \n     do\n     {\n         int anychanges = 0;\n-        for (block *b = startblock; b; b = b->Bnext)   // for each block\n+        for (block *b = startblock; b; b = b.Bnext)   // for each block\n         {\n \n             /* Look for [e1 IFFALSE L3,L2] L2: [e2 GOTO L3] L3: [e3]    */\n             /* Replace with [(e1 && e2),e3]                             */\n-            unsigned char bc = b->BC;\n+            ubyte bc = b.BC;\n             if (bc == BCiftrue)\n             {\n-                block *b2 = b->nthSucc(0);\n-                block *b3 = b->nthSucc(1);\n+                block *b2 = b.nthSucc(0);\n+                block *b3 = b.nthSucc(1);\n \n-                if (list_next(b2->Bpred))       // if more than one predecessor\n+                if (list_next(b2.Bpred))       // if more than one predecessor\n                     continue;\n                 if (b2 == b3)\n                     continue;\n                 if (b2 == startblock)\n                     continue;\n-                if (!PARSER && b2->Belem && EOP(b2->Belem))\n+                if (!PARSER && b2.Belem && !OTleaf(b2.Belem.Eoper))\n                     continue;\n \n-                unsigned char bc2 = b2->BC;\n+                ubyte bc2 = b2.BC;\n                 if (bc2 == BCgoto &&\n-                    b3 == b2->nthSucc(0))\n+                    b3 == b2.nthSucc(0))\n                 {\n-                    b->BC = BCgoto;\n-                    if (b2->Belem)\n+                    b.BC = BCgoto;\n+                    if (b2.Belem)\n                     {\n                         int op = OPandand;\n-                        b->Belem = PARSER ? el_bint(op,tsint,b->Belem,b2->Belem)\n-                                          : el_bin(op,TYint,b->Belem,b2->Belem);\n-                        b2->Belem = NULL;\n+                        b.Belem = PARSER ? el_bint(op,tstypes[TYint],b.Belem,b2.Belem)\n+                                          : el_bin(op,TYint,b.Belem,b2.Belem);\n+                        b2.Belem = null;\n                     }\n-                    list_subtract(&(b->Bsucc),b2);\n-                    list_subtract(&(b2->Bpred),b);\n-                    cmes(\"brcombine(): if !e1 then e2 => e1 || e2\\n\");\n+                    list_subtract(&(b.Bsucc),b2);\n+                    list_subtract(&(b2.Bpred),b);\n+                    debug if (debugc) printf(\"brcombine(): if !e1 then e2 => e1 || e2\\n\");\n                     anychanges++;\n                 }\n-                else if (list_next(b3->Bpred) || b3 == startblock)\n+                else if (list_next(b3.Bpred) || b3 == startblock)\n                     continue;\n-                else if ((bc2 == BCretexp && b3->BC == BCretexp)\n-                         //|| (bc2 == BCret && b3->BC == BCret)\n+                else if ((bc2 == BCretexp && b3.BC == BCretexp)\n+                         //|| (bc2 == BCret && b3.BC == BCret)\n                         )\n                 {\n                     if (PARSER)\n                     {\n-                        type *t = (bc2 == BCretexp) ? b2->Belem->ET : tsvoid;\n-                        elem *e = el_bint(OPcolon2,t,b2->Belem,b3->Belem);\n-                        b->Belem = el_bint(OPcond,t,b->Belem,e);\n+                        type *t = (bc2 == BCretexp) ? b2.Belem.ET : tstypes[TYvoid];\n+                        elem *e = el_bint(OPcolon2,t,b2.Belem,b3.Belem);\n+                        b.Belem = el_bint(OPcond,t,b.Belem,e);\n                     }\n                     else\n                     {\n-                        if (EOP(b3->Belem))\n+                        if (!OTleaf(b3.Belem.Eoper))\n                             continue;\n-                        tym_t ty = (bc2 == BCretexp) ? b2->Belem->Ety : (tym_t) TYvoid;\n-                        elem *e = el_bin(OPcolon2,ty,b2->Belem,b3->Belem);\n-                        b->Belem = el_bin(OPcond,ty,b->Belem,e);\n+                        tym_t ty = (bc2 == BCretexp) ? b2.Belem.Ety : cast(tym_t) TYvoid;\n+                        elem *e = el_bin(OPcolon2,ty,b2.Belem,b3.Belem);\n+                        b.Belem = el_bin(OPcond,ty,b.Belem,e);\n                     }\n-                    b->BC = bc2;\n-                    b->Belem->ET = b2->Belem->ET;\n-                    b2->Belem = NULL;\n-                    b3->Belem = NULL;\n-                    list_free(&b->Bsucc,FPNULL);\n-                    list_subtract(&(b2->Bpred),b);\n-                    list_subtract(&(b3->Bpred),b);\n-                    cmes(\"brcombine(): if e1 return e2 else return e3 => ret e1?e2:e3\\n\");\n+                    b.BC = bc2;\n+                    b.Belem.ET = b2.Belem.ET;\n+                    b2.Belem = null;\n+                    b3.Belem = null;\n+                    list_free(&b.Bsucc,FPNULL);\n+                    list_subtract(&(b2.Bpred),b);\n+                    list_subtract(&(b3.Bpred),b);\n+                    debug if (debugc) printf(\"brcombine(): if e1 return e2 else return e3 => ret e1?e2:e3\\n\");\n                     anychanges++;\n                 }\n                 else if (bc2 == BCgoto &&\n-                         b3->BC == BCgoto &&\n-                         b2->nthSucc(0) == b3->nthSucc(0))\n+                         b3.BC == BCgoto &&\n+                         b2.nthSucc(0) == b3.nthSucc(0))\n                 {\n-                    block *bsucc = b2->nthSucc(0);\n-                    if (b2->Belem)\n+                    block *bsucc = b2.nthSucc(0);\n+                    if (b2.Belem)\n                     {\n                         elem *e;\n                         if (PARSER)\n                         {\n-                            if (b3->Belem)\n+                            if (b3.Belem)\n                             {\n-                                e = el_bint(OPcolon2,b2->Belem->ET,\n-                                        b2->Belem,b3->Belem);\n-                                e = el_bint(OPcond,e->ET,b->Belem,e);\n+                                e = el_bint(OPcolon2,b2.Belem.ET,\n+                                        b2.Belem,b3.Belem);\n+                                e = el_bint(OPcond,e.ET,b.Belem,e);\n                             }\n                             else\n                             {\n                                 int op = OPandand;\n-                                e = el_bint(op,tsint,b->Belem,b2->Belem);\n+                                e = el_bint(op,tstypes[TYint],b.Belem,b2.Belem);\n                             }\n                         }\n                         else\n                         {\n-                            if (b3->Belem)\n+                            if (b3.Belem)\n                             {\n-                                if (EOP(b3->Belem))\n+                                if (!OTleaf(b3.Belem.Eoper))\n                                     continue;\n-                                e = el_bin(OPcolon2,b2->Belem->Ety,\n-                                        b2->Belem,b3->Belem);\n-                                e = el_bin(OPcond,e->Ety,b->Belem,e);\n-                                e->ET = b2->Belem->ET;\n+                                e = el_bin(OPcolon2,b2.Belem.Ety,\n+                                        b2.Belem,b3.Belem);\n+                                e = el_bin(OPcond,e.Ety,b.Belem,e);\n+                                e.ET = b2.Belem.ET;\n                             }\n                             else\n                             {\n                                 int op = OPandand;\n-                                e = el_bin(op,TYint,b->Belem,b2->Belem);\n+                                e = el_bin(op,TYint,b.Belem,b2.Belem);\n                             }\n                         }\n-                        b2->Belem = NULL;\n-                        b->Belem = e;\n+                        b2.Belem = null;\n+                        b.Belem = e;\n                     }\n-                    else if (b3->Belem)\n+                    else if (b3.Belem)\n                     {\n                         int op = OPoror;\n-                        b->Belem = PARSER ? el_bint(op,tsint,b->Belem,b3->Belem)\n-                                          : el_bin(op,TYint,b->Belem,b3->Belem);\n+                        b.Belem = PARSER ? el_bint(op,tstypes[TYint],b.Belem,b3.Belem)\n+                                          : el_bin(op,TYint,b.Belem,b3.Belem);\n                     }\n-                    b->BC = BCgoto;\n-                    b3->Belem = NULL;\n-                    list_free(&b->Bsucc,FPNULL);\n-\n-                    b->appendSucc(bsucc);\n-                    list_append(&bsucc->Bpred,b);\n-\n-                    list_free(&(b2->Bpred),FPNULL);\n-                    list_free(&(b2->Bsucc),FPNULL);\n-                    list_free(&(b3->Bpred),FPNULL);\n-                    list_free(&(b3->Bsucc),FPNULL);\n-                    b2->BC = BCret;\n-                    b3->BC = BCret;\n-                    list_subtract(&(bsucc->Bpred),b2);\n-                    list_subtract(&(bsucc->Bpred),b3);\n-                    cmes(\"brcombine(): if e1 goto e2 else goto e3 => ret e1?e2:e3\\n\");\n+                    b.BC = BCgoto;\n+                    b3.Belem = null;\n+                    list_free(&b.Bsucc,FPNULL);\n+\n+                    b.appendSucc(bsucc);\n+                    list_append(&bsucc.Bpred,b);\n+\n+                    list_free(&(b2.Bpred),FPNULL);\n+                    list_free(&(b2.Bsucc),FPNULL);\n+                    list_free(&(b3.Bpred),FPNULL);\n+                    list_free(&(b3.Bsucc),FPNULL);\n+                    b2.BC = BCret;\n+                    b3.BC = BCret;\n+                    list_subtract(&(bsucc.Bpred),b2);\n+                    list_subtract(&(bsucc.Bpred),b3);\n+                    debug if (debugc) printf(\"brcombine(): if e1 goto e2 else goto e3 => ret e1?e2:e3\\n\");\n                     anychanges++;\n                 }\n             }\n             else if (bc == BCgoto && PARSER)\n             {\n-                block *b2 = b->nthSucc(0);\n-                if (!list_next(b2->Bpred) && b2->BC != BCasm    // if b is only parent\n+                block *b2 = b.nthSucc(0);\n+                if (!list_next(b2.Bpred) && b2.BC != BCasm    // if b is only parent\n                     && b2 != startblock\n-                    && b2->BC != BCtry\n-                    && b2->BC != BC_try\n-                    && b->Btry == b2->Btry\n+                    && b2.BC != BCtry\n+                    && b2.BC != BC_try\n+                    && b.Btry == b2.Btry\n                    )\n                 {   list_t bl;\n \n-                    if (b2->Belem)\n+                    if (b2.Belem)\n                     {\n                         if (PARSER)\n                         {\n-                            block_appendexp(b,b2->Belem);\n+                            block_appendexp(b,b2.Belem);\n                         }\n-                        else if (b->Belem)\n-                            b->Belem = el_bin(OPcomma,b2->Belem->Ety,b->Belem,b2->Belem);\n+                        else if (b.Belem)\n+                            b.Belem = el_bin(OPcomma,b2.Belem.Ety,b.Belem,b2.Belem);\n                         else\n-                            b->Belem = b2->Belem;\n-                        b2->Belem = NULL;\n+                            b.Belem = b2.Belem;\n+                        b2.Belem = null;\n                     }\n-                    list_subtract(&b->Bsucc,b2);\n-                    list_subtract(&b2->Bpred,b);\n+                    list_subtract(&b.Bsucc,b2);\n+                    list_subtract(&b2.Bpred,b);\n \n                     /* change predecessor of successors of b2 from b2 to b */\n-                    for (bl = b2->Bsucc; bl; bl = list_next(bl))\n+                    for (bl = b2.Bsucc; bl; bl = list_next(bl))\n                     {   list_t bp;\n \n-                        for (bp = list_block(bl)->Bpred; bp; bp = list_next(bp))\n+                        for (bp = list_block(bl).Bpred; bp; bp = list_next(bp))\n                         {\n                             if (list_block(bp) == b2)\n-                                list_ptr(bp) = (void *)b;\n+                                bp.ptr = cast(void *)b;\n                         }\n                     }\n \n-                    b->BC = b2->BC;\n-                    b->BS = b2->BS;\n-                    b->Bsucc = b2->Bsucc;\n-                    b2->Bsucc = NULL;\n-                    b2->BC = BCret;             /* a harmless one       */\n-                    cmes3(\"brcombine(): %p goto %p eliminated\\n\",b,b2);\n+                    b.Bswitch = b2.Bswitch;\n+                    b.Bswitch = b2.Bswitch;","path":"src/dmd/backend/blockopt.d","position":1106,"original_position":1116,"commit_id":"494fa9a82705b756a028baddc9468e4662db1bd9","original_commit_id":"9110a653efd4ba67f20ef7f6ddf25b342d37c927","user":{"login":"rainers","id":702284,"node_id":"MDQ6VXNlcjcwMjI4NA==","avatar_url":"https://avatars3.githubusercontent.com/u/702284?v=4","gravatar_id":"","url":"https://api.github.com/users/rainers","html_url":"https://github.com/rainers","followers_url":"https://api.github.com/users/rainers/followers","following_url":"https://api.github.com/users/rainers/following{/other_user}","gists_url":"https://api.github.com/users/rainers/gists{/gist_id}","starred_url":"https://api.github.com/users/rainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rainers/subscriptions","organizations_url":"https://api.github.com/users/rainers/orgs","repos_url":"https://api.github.com/users/rainers/repos","events_url":"https://api.github.com/users/rainers/events{/privacy}","received_events_url":"https://api.github.com/users/rainers/received_events","type":"User","site_admin":false},"body":"This is copying too little, it should be somethink llike\r\n```\r\n                    b.BC = b2.BC;\r\n                    b.cover_BS[] = b2.cover_BS[];\r\n```\r\nwith\r\n```\r\n        // add member at least as large as the other elements of this union\r\n        void[jcatchvar.sizeof + Bscope_index.sizeof + Blast_index.sizeof] cover_BS;\r\n```\r\nadded to the respective union in `block`.","created_at":"2018-07-06T08:20:53Z","updated_at":"2018-07-06T08:20:53Z","html_url":"https://github.com/dlang/dmd/pull/8426#discussion_r200581815","pull_request_url":"https://api.github.com/repos/dlang/dmd/pulls/8426","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/dlang/dmd/pulls/comments/200581815"},"html":{"href":"https://github.com/dlang/dmd/pull/8426#discussion_r200581815"},"pull_request":{"href":"https://api.github.com/repos/dlang/dmd/pulls/8426"}},"in_reply_to_id":199358686},"pull_request":{"url":"https://api.github.com/repos/dlang/dmd/pulls/8426","id":198538507,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NTM4NTA3","html_url":"https://github.com/dlang/dmd/pull/8426","diff_url":"https://github.com/dlang/dmd/pull/8426.diff","patch_url":"https://github.com/dlang/dmd/pull/8426.patch","issue_url":"https://api.github.com/repos/dlang/dmd/issues/8426","number":8426,"state":"open","locked":false,"title":"convert blockopt.c to blockopt.d","user":{"login":"wilzbach","id":4370550,"node_id":"MDQ6VXNlcjQzNzA1NTA=","avatar_url":"https://avatars3.githubusercontent.com/u/4370550?v=4","gravatar_id":"","url":"https://api.github.com/users/wilzbach","html_url":"https://github.com/wilzbach","followers_url":"https://api.github.com/users/wilzbach/followers","following_url":"https://api.github.com/users/wilzbach/following{/other_user}","gists_url":"https://api.github.com/users/wilzbach/gists{/gist_id}","starred_url":"https://api.github.com/users/wilzbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilzbach/subscriptions","organizations_url":"https://api.github.com/users/wilzbach/orgs","repos_url":"https://api.github.com/users/wilzbach/repos","events_url":"https://api.github.com/users/wilzbach/events{/privacy}","received_events_url":"https://api.github.com/users/wilzbach/received_events","type":"User","site_admin":false},"body":null,"created_at":"2018-07-01T19:21:42Z","updated_at":"2018-07-06T08:20:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"049e11de174da4b0672e81f952b4da80ae78f66f","assignee":null,"assignees":[],"requested_reviewers":[{"login":"klickverbot","id":19335,"node_id":"MDQ6VXNlcjE5MzM1","avatar_url":"https://avatars1.githubusercontent.com/u/19335?v=4","gravatar_id":"","url":"https://api.github.com/users/klickverbot","html_url":"https://github.com/klickverbot","followers_url":"https://api.github.com/users/klickverbot/followers","following_url":"https://api.github.com/users/klickverbot/following{/other_user}","gists_url":"https://api.github.com/users/klickverbot/gists{/gist_id}","starred_url":"https://api.github.com/users/klickverbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/klickverbot/subscriptions","organizations_url":"https://api.github.com/users/klickverbot/orgs","repos_url":"https://api.github.com/users/klickverbot/repos","events_url":"https://api.github.com/users/klickverbot/events{/privacy}","received_events_url":"https://api.github.com/users/klickverbot/received_events","type":"User","site_admin":false},{"login":"MartinNowak","id":288976,"node_id":"MDQ6VXNlcjI4ODk3Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/288976?v=4","gravatar_id":"","url":"https://api.github.com/users/MartinNowak","html_url":"https://github.com/MartinNowak","followers_url":"https://api.github.com/users/MartinNowak/followers","following_url":"https://api.github.com/users/MartinNowak/following{/other_user}","gists_url":"https://api.github.com/users/MartinNowak/gists{/gist_id}","starred_url":"https://api.github.com/users/MartinNowak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartinNowak/subscriptions","organizations_url":"https://api.github.com/users/MartinNowak/orgs","repos_url":"https://api.github.com/users/MartinNowak/repos","events_url":"https://api.github.com/users/MartinNowak/events{/privacy}","received_events_url":"https://api.github.com/users/MartinNowak/received_events","type":"User","site_admin":false},{"login":"ibuclaw","id":397929,"node_id":"MDQ6VXNlcjM5NzkyOQ==","avatar_url":"https://avatars3.githubusercontent.com/u/397929?v=4","gravatar_id":"","url":"https://api.github.com/users/ibuclaw","html_url":"https://github.com/ibuclaw","followers_url":"https://api.github.com/users/ibuclaw/followers","following_url":"https://api.github.com/users/ibuclaw/following{/other_user}","gists_url":"https://api.github.com/users/ibuclaw/gists{/gist_id}","starred_url":"https://api.github.com/users/ibuclaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ibuclaw/subscriptions","organizations_url":"https://api.github.com/users/ibuclaw/orgs","repos_url":"https://api.github.com/users/ibuclaw/repos","events_url":"https://api.github.com/users/ibuclaw/events{/privacy}","received_events_url":"https://api.github.com/users/ibuclaw/received_events","type":"User","site_admin":false},{"login":"WalterBright","id":568298,"node_id":"MDQ6VXNlcjU2ODI5OA==","avatar_url":"https://avatars0.githubusercontent.com/u/568298?v=4","gravatar_id":"","url":"https://api.github.com/users/WalterBright","html_url":"https://github.com/WalterBright","followers_url":"https://api.github.com/users/WalterBright/followers","following_url":"https://api.github.com/users/WalterBright/following{/other_user}","gists_url":"https://api.github.com/users/WalterBright/gists{/gist_id}","starred_url":"https://api.github.com/users/WalterBright/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WalterBright/subscriptions","organizations_url":"https://api.github.com/users/WalterBright/orgs","repos_url":"https://api.github.com/users/WalterBright/repos","events_url":"https://api.github.com/users/WalterBright/events{/privacy}","received_events_url":"https://api.github.com/users/WalterBright/received_events","type":"User","site_admin":false},{"login":"rainers","id":702284,"node_id":"MDQ6VXNlcjcwMjI4NA==","avatar_url":"https://avatars3.githubusercontent.com/u/702284?v=4","gravatar_id":"","url":"https://api.github.com/users/rainers","html_url":"https://github.com/rainers","followers_url":"https://api.github.com/users/rainers/followers","following_url":"https://api.github.com/users/rainers/following{/other_user}","gists_url":"https://api.github.com/users/rainers/gists{/gist_id}","starred_url":"https://api.github.com/users/rainers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rainers/subscriptions","organizations_url":"https://api.github.com/users/rainers/orgs","repos_url":"https://api.github.com/users/rainers/repos","events_url":"https://api.github.com/users/rainers/events{/privacy}","received_events_url":"https://api.github.com/users/rainers/received_events","type":"User","site_admin":false},{"login":"Geod24","id":2180215,"node_id":"MDQ6VXNlcjIxODAyMTU=","avatar_url":"https://avatars0.githubusercontent.com/u/2180215?v=4","gravatar_id":"","url":"https://api.github.com/users/Geod24","html_url":"https://github.com/Geod24","followers_url":"https://api.github.com/users/Geod24/followers","following_url":"https://api.github.com/users/Geod24/following{/other_user}","gists_url":"https://api.github.com/users/Geod24/gists{/gist_id}","starred_url":"https://api.github.com/users/Geod24/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Geod24/subscriptions","organizations_url":"https://api.github.com/users/Geod24/orgs","repos_url":"https://api.github.com/users/Geod24/repos","events_url":"https://api.github.com/users/Geod24/events{/privacy}","received_events_url":"https://api.github.com/users/Geod24/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":953336750,"node_id":"MDU6TGFiZWw5NTMzMzY3NTA=","url":"https://api.github.com/repos/dlang/dmd/labels/D%20Conversion","name":"D Conversion","color":"9f15d6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/dlang/dmd/pulls/8426/commits","review_comments_url":"https://api.github.com/repos/dlang/dmd/pulls/8426/comments","review_comment_url":"https://api.github.com/repos/dlang/dmd/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dlang/dmd/issues/8426/comments","statuses_url":"https://api.github.com/repos/dlang/dmd/statuses/494fa9a82705b756a028baddc9468e4662db1bd9","head":{"label":"wilzbach:blockopt","ref":"blockopt","sha":"494fa9a82705b756a028baddc9468e4662db1bd9","user":{"login":"wilzbach","id":4370550,"node_id":"MDQ6VXNlcjQzNzA1NTA=","avatar_url":"https://avatars3.githubusercontent.com/u/4370550?v=4","gravatar_id":"","url":"https://api.github.com/users/wilzbach","html_url":"https://github.com/wilzbach","followers_url":"https://api.github.com/users/wilzbach/followers","following_url":"https://api.github.com/users/wilzbach/following{/other_user}","gists_url":"https://api.github.com/users/wilzbach/gists{/gist_id}","starred_url":"https://api.github.com/users/wilzbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilzbach/subscriptions","organizations_url":"https://api.github.com/users/wilzbach/orgs","repos_url":"https://api.github.com/users/wilzbach/repos","events_url":"https://api.github.com/users/wilzbach/events{/privacy}","received_events_url":"https://api.github.com/users/wilzbach/received_events","type":"User","site_admin":false},"repo":{"id":55034525,"node_id":"MDEwOlJlcG9zaXRvcnk1NTAzNDUyNQ==","name":"dmd","full_name":"wilzbach/dmd","owner":{"login":"wilzbach","id":4370550,"node_id":"MDQ6VXNlcjQzNzA1NTA=","avatar_url":"https://avatars3.githubusercontent.com/u/4370550?v=4","gravatar_id":"","url":"https://api.github.com/users/wilzbach","html_url":"https://github.com/wilzbach","followers_url":"https://api.github.com/users/wilzbach/followers","following_url":"https://api.github.com/users/wilzbach/following{/other_user}","gists_url":"https://api.github.com/users/wilzbach/gists{/gist_id}","starred_url":"https://api.github.com/users/wilzbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilzbach/subscriptions","organizations_url":"https://api.github.com/users/wilzbach/orgs","repos_url":"https://api.github.com/users/wilzbach/repos","events_url":"https://api.github.com/users/wilzbach/events{/privacy}","received_events_url":"https://api.github.com/users/wilzbach/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wilzbach/dmd","description":"dmd D Programming Language compiler","fork":true,"url":"https://api.github.com/repos/wilzbach/dmd","forks_url":"https://api.github.com/repos/wilzbach/dmd/forks","keys_url":"https://api.github.com/repos/wilzbach/dmd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wilzbach/dmd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wilzbach/dmd/teams","hooks_url":"https://api.github.com/repos/wilzbach/dmd/hooks","issue_events_url":"https://api.github.com/repos/wilzbach/dmd/issues/events{/number}","events_url":"https://api.github.com/repos/wilzbach/dmd/events","assignees_url":"https://api.github.com/repos/wilzbach/dmd/assignees{/user}","branches_url":"https://api.github.com/repos/wilzbach/dmd/branches{/branch}","tags_url":"https://api.github.com/repos/wilzbach/dmd/tags","blobs_url":"https://api.github.com/repos/wilzbach/dmd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wilzbach/dmd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wilzbach/dmd/git/refs{/sha}","trees_url":"https://api.github.com/repos/wilzbach/dmd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wilzbach/dmd/statuses/{sha}","languages_url":"https://api.github.com/repos/wilzbach/dmd/languages","stargazers_url":"https://api.github.com/repos/wilzbach/dmd/stargazers","contributors_url":"https://api.github.com/repos/wilzbach/dmd/contributors","subscribers_url":"https://api.github.com/repos/wilzbach/dmd/subscribers","subscription_url":"https://api.github.com/repos/wilzbach/dmd/subscription","commits_url":"https://api.github.com/repos/wilzbach/dmd/commits{/sha}","git_commits_url":"https://api.github.com/repos/wilzbach/dmd/git/commits{/sha}","comments_url":"https://api.github.com/repos/wilzbach/dmd/comments{/number}","issue_comment_url":"https://api.github.com/repos/wilzbach/dmd/issues/comments{/number}","contents_url":"https://api.github.com/repos/wilzbach/dmd/contents/{+path}","compare_url":"https://api.github.com/repos/wilzbach/dmd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wilzbach/dmd/merges","archive_url":"https://api.github.com/repos/wilzbach/dmd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wilzbach/dmd/downloads","issues_url":"https://api.github.com/repos/wilzbach/dmd/issues{/number}","pulls_url":"https://api.github.com/repos/wilzbach/dmd/pulls{/number}","milestones_url":"https://api.github.com/repos/wilzbach/dmd/milestones{/number}","notifications_url":"https://api.github.com/repos/wilzbach/dmd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wilzbach/dmd/labels{/name}","releases_url":"https://api.github.com/repos/wilzbach/dmd/releases{/id}","deployments_url":"https://api.github.com/repos/wilzbach/dmd/deployments","created_at":"2016-03-30T05:15:54Z","updated_at":"2018-07-05T06:16:42Z","pushed_at":"2018-07-06T06:04:45Z","git_url":"git://github.com/wilzbach/dmd.git","ssh_url":"git@github.com:wilzbach/dmd.git","clone_url":"https://github.com/wilzbach/dmd.git","svn_url":"https://github.com/wilzbach/dmd","homepage":"dlang.org","size":90357,"stargazers_count":1,"watchers_count":1,"language":"D","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsl-1.0","name":"Boost Software License 1.0","spdx_id":"BSL-1.0","url":"https://api.github.com/licenses/bsl-1.0","node_id":"MDc6TGljZW5zZTI4"},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"dlang:master","ref":"master","sha":"9362d938dfe749371c53589a02d8cffdcb49004d","user":{"login":"dlang","id":565913,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NTkxMw==","avatar_url":"https://avatars3.githubusercontent.com/u/565913?v=4","gravatar_id":"","url":"https://api.github.com/users/dlang","html_url":"https://github.com/dlang","followers_url":"https://api.github.com/users/dlang/followers","following_url":"https://api.github.com/users/dlang/following{/other_user}","gists_url":"https://api.github.com/users/dlang/gists{/gist_id}","starred_url":"https://api.github.com/users/dlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dlang/subscriptions","organizations_url":"https://api.github.com/users/dlang/orgs","repos_url":"https://api.github.com/users/dlang/repos","events_url":"https://api.github.com/users/dlang/events{/privacy}","received_events_url":"https://api.github.com/users/dlang/received_events","type":"Organization","site_admin":false},"repo":{"id":1257070,"node_id":"MDEwOlJlcG9zaXRvcnkxMjU3MDcw","name":"dmd","full_name":"dlang/dmd","owner":{"login":"dlang","id":565913,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NTkxMw==","avatar_url":"https://avatars3.githubusercontent.com/u/565913?v=4","gravatar_id":"","url":"https://api.github.com/users/dlang","html_url":"https://github.com/dlang","followers_url":"https://api.github.com/users/dlang/followers","following_url":"https://api.github.com/users/dlang/following{/other_user}","gists_url":"https://api.github.com/users/dlang/gists{/gist_id}","starred_url":"https://api.github.com/users/dlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dlang/subscriptions","organizations_url":"https://api.github.com/users/dlang/orgs","repos_url":"https://api.github.com/users/dlang/repos","events_url":"https://api.github.com/users/dlang/events{/privacy}","received_events_url":"https://api.github.com/users/dlang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dlang/dmd","description":"dmd D Programming Language compiler","fork":false,"url":"https://api.github.com/repos/dlang/dmd","forks_url":"https://api.github.com/repos/dlang/dmd/forks","keys_url":"https://api.github.com/repos/dlang/dmd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dlang/dmd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dlang/dmd/teams","hooks_url":"https://api.github.com/repos/dlang/dmd/hooks","issue_events_url":"https://api.github.com/repos/dlang/dmd/issues/events{/number}","events_url":"https://api.github.com/repos/dlang/dmd/events","assignees_url":"https://api.github.com/repos/dlang/dmd/assignees{/user}","branches_url":"https://api.github.com/repos/dlang/dmd/branches{/branch}","tags_url":"https://api.github.com/repos/dlang/dmd/tags","blobs_url":"https://api.github.com/repos/dlang/dmd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dlang/dmd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dlang/dmd/git/refs{/sha}","trees_url":"https://api.github.com/repos/dlang/dmd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dlang/dmd/statuses/{sha}","languages_url":"https://api.github.com/repos/dlang/dmd/languages","stargazers_url":"https://api.github.com/repos/dlang/dmd/stargazers","contributors_url":"https://api.github.com/repos/dlang/dmd/contributors","subscribers_url":"https://api.github.com/repos/dlang/dmd/subscribers","subscription_url":"https://api.github.com/repos/dlang/dmd/subscription","commits_url":"https://api.github.com/repos/dlang/dmd/commits{/sha}","git_commits_url":"https://api.github.com/repos/dlang/dmd/git/commits{/sha}","comments_url":"https://api.github.com/repos/dlang/dmd/comments{/number}","issue_comment_url":"https://api.github.com/repos/dlang/dmd/issues/comments{/number}","contents_url":"https://api.github.com/repos/dlang/dmd/contents/{+path}","compare_url":"https://api.github.com/repos/dlang/dmd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dlang/dmd/merges","archive_url":"https://api.github.com/repos/dlang/dmd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dlang/dmd/downloads","issues_url":"https://api.github.com/repos/dlang/dmd/issues{/number}","pulls_url":"https://api.github.com/repos/dlang/dmd/pulls{/number}","milestones_url":"https://api.github.com/repos/dlang/dmd/milestones{/number}","notifications_url":"https://api.github.com/repos/dlang/dmd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dlang/dmd/labels{/name}","releases_url":"https://api.github.com/repos/dlang/dmd/releases{/id}","deployments_url":"https://api.github.com/repos/dlang/dmd/deployments","created_at":"2011-01-15T06:53:53Z","updated_at":"2018-07-06T01:32:03Z","pushed_at":"2018-07-06T06:04:47Z","git_url":"git://github.com/dlang/dmd.git","ssh_url":"git@github.com:dlang/dmd.git","clone_url":"https://github.com/dlang/dmd.git","svn_url":"https://github.com/dlang/dmd","homepage":"dlang.org","size":91321,"stargazers_count":1813,"watchers_count":1813,"language":"D","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":453,"mirror_url":null,"archived":false,"open_issues_count":129,"license":{"key":"bsl-1.0","name":"Boost Software License 1.0","spdx_id":"BSL-1.0","url":"https://api.github.com/licenses/bsl-1.0","node_id":"MDc6TGljZW5zZTI4"},"forks":453,"open_issues":129,"watchers":1813,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dlang/dmd/pulls/8426"},"html":{"href":"https://github.com/dlang/dmd/pull/8426"},"issue":{"href":"https://api.github.com/repos/dlang/dmd/issues/8426"},"comments":{"href":"https://api.github.com/repos/dlang/dmd/issues/8426/comments"},"review_comments":{"href":"https://api.github.com/repos/dlang/dmd/pulls/8426/comments"},"review_comment":{"href":"https://api.github.com/repos/dlang/dmd/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dlang/dmd/pulls/8426/commits"},"statuses":{"href":"https://api.github.com/repos/dlang/dmd/statuses/494fa9a82705b756a028baddc9468e4662db1bd9"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"rainers"}}