Fix generic struct delegate in ReadyToRun (#3690)
Fix generic struct delegate in ReadyToRun (#3690)

The following code pattern triggers a crash when compiled into Ready To Run:

    struct S<T>
    {
        public void M() { ... }
    }

    class C { }

    Then create a delegate using S<C>.M

The cause of the crash is calling S<C>.M normally reaches a shared generic
method S<__Canon>.M, but for delegate creation we need to use the actual
S<C>.M. Ready To Run generated code that attempts to create delegate using
S<__Canon>.M, which is not allowed.

qiudesong/coreclr,manu-silicon/coreclr,ragmani/coreclr,martinwoodward/coreclr,James-Ko/coreclr,russellhadley/coreclr,neurospeech/coreclr,chuck-mitchell/coreclr,yeaicc/coreclr,dasMulli/coreclr,bartdesmet/coreclr,ruben-ayrapetyan/coreclr,manu-silicon/coreclr,wtgodbe/coreclr,parjong/coreclr,jhendrixMSFT/coreclr,bartdesmet/coreclr,gkhanna79/coreclr,AlexGhiondea/coreclr,bartdesmet/coreclr,ruben-ayrapetyan/coreclr,russellhadley/coreclr,jhendrixMSFT/coreclr,SlavaRa/coreclr,chuck-mitchell/coreclr,AlexGhiondea/coreclr,naamunds/coreclr,ramarag/coreclr,wateret/coreclr,mmitche/coreclr,KrzysztofCwalina/coreclr,bartonjs/coreclr,naamunds/coreclr,yeaicc/coreclr,sagood/coreclr,krk/coreclr,yizhang82/coreclr,roncain/coreclr,gkhanna79/coreclr,cmckinsey/coreclr,gkhanna79/coreclr,AlexGhiondea/coreclr,qiudesong/coreclr,andschwa/coreclr,JonHanna/coreclr,LLITCHEV/coreclr,krytarowski/coreclr,jhendrixMSFT/coreclr,dpodder/coreclr,ruben-ayrapetyan/coreclr,jhendrixMSFT/coreclr,pgavlin/coreclr,KrzysztofCwalina/coreclr,jhendrixMSFT/coreclr,botaberg/coreclr,JosephTremoulet/coreclr,cmckinsey/coreclr,Dmitry-Me/coreclr,KrzysztofCwalina/coreclr,roncain/coreclr,tijoytom/coreclr,alexperovich/coreclr,qiudesong/coreclr,ZhichengZhu/coreclr,shahid-pk/coreclr,kyulee1/coreclr,cmckinsey/coreclr,martinwoodward/coreclr,neurospeech/coreclr,vinnyrom/coreclr,dpodder/coreclr,SlavaRa/coreclr,martinwoodward/coreclr,poizan42/coreclr,dasMulli/coreclr,josteink/coreclr,rartemev/coreclr,wateret/coreclr,KrzysztofCwalina/coreclr,chuck-mitchell/coreclr,neurospeech/coreclr,qiudesong/coreclr,mskvortsov/coreclr,krytarowski/coreclr,botaberg/coreclr,schellap/coreclr,sejongoh/coreclr,AlexGhiondea/coreclr,sejongoh/coreclr,mskvortsov/coreclr,tijoytom/coreclr,dpodder/coreclr,JosephTremoulet/coreclr,bartonjs/coreclr,krytarowski/coreclr,dpodder/coreclr,krk/coreclr,pgavlin/coreclr,YongseopKim/coreclr,russellhadley/coreclr,cmckinsey/coreclr,hseok-oh/coreclr,ramarag/coreclr,bartonjs/coreclr,parjong/coreclr,schellap/coreclr,shahid-pk/coreclr,andschwa/coreclr,ZhichengZhu/coreclr,ramarag/coreclr,ramarag/coreclr,martinwoodward/coreclr,jamesqo/coreclr,schellap/coreclr,qiudesong/coreclr,neurospeech/coreclr,JonHanna/coreclr,naamunds/coreclr,hseok-oh/coreclr,sjsinju/coreclr,jamesqo/coreclr,andschwa/coreclr,schellap/coreclr,neurospeech/coreclr,andschwa/coreclr,roncain/coreclr,sagood/coreclr,naamunds/coreclr,sejongoh/coreclr,rartemev/coreclr,Godin/coreclr,krytarowski/coreclr,martinwoodward/coreclr,ZhichengZhu/coreclr,James-Ko/coreclr,krk/coreclr,bartdesmet/coreclr,JosephTremoulet/coreclr,AlexGhiondea/coreclr,dasMulli/coreclr,chuck-mitchell/coreclr,schellap/coreclr,Dmitry-Me/coreclr,dpodder/coreclr,SlavaRa/coreclr,KrzysztofCwalina/coreclr,bartdesmet/coreclr,Godin/coreclr,bartonjs/coreclr,JonHanna/coreclr,James-Ko/coreclr,sagood/coreclr,mmitche/coreclr,YongseopKim/coreclr,yeaicc/coreclr,bartonjs/coreclr,parjong/coreclr,SlavaRa/coreclr,JonHanna/coreclr,shahid-pk/coreclr,kyulee1/coreclr,Godin/coreclr,manu-silicon/coreclr,yeaicc/coreclr,cshung/coreclr,dpodder/coreclr,jhendrixMSFT/coreclr,dasMulli/coreclr,wateret/coreclr,yizhang82/coreclr,YongseopKim/coreclr,mskvortsov/coreclr,jamesqo/coreclr,sagood/coreclr,JosephTremoulet/coreclr,gkhanna79/coreclr,SlavaRa/coreclr,JosephTremoulet/coreclr,chuck-mitchell/coreclr,roncain/coreclr,mmitche/coreclr,sjsinju/coreclr,cshung/coreclr,shahid-pk/coreclr,ramarag/coreclr,naamunds/coreclr,parjong/coreclr,pgavlin/coreclr,alexperovich/coreclr,poizan42/coreclr,jamesqo/coreclr,sejongoh/coreclr,Godin/coreclr,sjsinju/coreclr,wateret/coreclr,krk/coreclr,LLITCHEV/coreclr,cshung/coreclr,YongseopKim/coreclr,botaberg/coreclr,shahid-pk/coreclr,sagood/coreclr,mmitche/coreclr,LLITCHEV/coreclr,andschwa/coreclr,ragmani/coreclr,rartemev/coreclr,ragmani/coreclr,yizhang82/coreclr,James-Ko/coreclr,ZhichengZhu/coreclr,andschwa/coreclr,chuck-mitchell/coreclr,ragmani/coreclr,cmckinsey/coreclr,kyulee1/coreclr,manu-silicon/coreclr,pgavlin/coreclr,cydhaselton/coreclr,dasMulli/coreclr,dasMulli/coreclr,dasMulli/coreclr,bartdesmet/coreclr,jamesqo/coreclr,ZhichengZhu/coreclr,gkhanna79/coreclr,LLITCHEV/coreclr,JonHanna/coreclr,roncain/coreclr,vinnyrom/coreclr,JosephTremoulet/coreclr,schellap/coreclr,tijoytom/coreclr,yeaicc/coreclr,parjong/coreclr,wtgodbe/coreclr,qiudesong/coreclr,Dmitry-Me/coreclr,yizhang82/coreclr,mskvortsov/coreclr,kyulee1/coreclr,ruben-ayrapetyan/coreclr,AlexGhiondea/coreclr,ramarag/coreclr,ragmani/coreclr,alexperovich/coreclr,yeaicc/coreclr,mskvortsov/coreclr,krytarowski/coreclr,martinwoodward/coreclr,russellhadley/coreclr,bartonjs/coreclr,cmckinsey/coreclr,wtgodbe/coreclr,parjong/coreclr,cmckinsey/coreclr,manu-silicon/coreclr,wtgodbe/coreclr,rartemev/coreclr,hseok-oh/coreclr,chuck-mitchell/coreclr,russellhadley/coreclr,ZhichengZhu/coreclr,cydhaselton/coreclr,Dmitry-Me/coreclr,gkhanna79/coreclr,Godin/coreclr,russellhadley/coreclr,roncain/coreclr,LLITCHEV/coreclr,poizan42/coreclr,cydhaselton/coreclr,sejongoh/coreclr,ramarag/coreclr,jhendrixMSFT/coreclr,sagood/coreclr,kyulee1/coreclr,YongseopKim/coreclr,vinnyrom/coreclr,Dmitry-Me/coreclr,sjsinju/coreclr,vinnyrom/coreclr,rartemev/coreclr,cshung/coreclr,wtgodbe/coreclr,wateret/coreclr,Godin/coreclr,tijoytom/coreclr,LLITCHEV/coreclr,pgavlin/coreclr,sejongoh/coreclr,YongseopKim/coreclr,ZhichengZhu/coreclr,rartemev/coreclr,hseok-oh/coreclr,cydhaselton/coreclr,poizan42/coreclr,yizhang82/coreclr,mskvortsov/coreclr,pgavlin/coreclr,jamesqo/coreclr,josteink/coreclr,Godin/coreclr,krk/coreclr,andschwa/coreclr,shahid-pk/coreclr,alexperovich/coreclr,vinnyrom/coreclr,alexperovich/coreclr,sejongoh/coreclr,James-Ko/coreclr,cydhaselton/coreclr,botaberg/coreclr,josteink/coreclr,tijoytom/coreclr,naamunds/coreclr,botaberg/coreclr,Dmitry-Me/coreclr,krk/coreclr,James-Ko/coreclr,kyulee1/coreclr,ruben-ayrapetyan/coreclr,josteink/coreclr,poizan42/coreclr,yizhang82/coreclr,ruben-ayrapetyan/coreclr,neurospeech/coreclr,KrzysztofCwalina/coreclr,hseok-oh/coreclr,alexperovich/coreclr,sjsinju/coreclr,krytarowski/coreclr,manu-silicon/coreclr,KrzysztofCwalina/coreclr,martinwoodward/coreclr,poizan42/coreclr,wtgodbe/coreclr,mmitche/coreclr,josteink/coreclr,cshung/coreclr,sjsinju/coreclr,mmitche/coreclr,bartdesmet/coreclr,vinnyrom/coreclr,botaberg/coreclr,manu-silicon/coreclr,yeaicc/coreclr,vinnyrom/coreclr,JonHanna/coreclr,naamunds/coreclr,Dmitry-Me/coreclr,hseok-oh/coreclr,shahid-pk/coreclr,bartonjs/coreclr,cshung/coreclr,josteink/coreclr,wateret/coreclr,SlavaRa/coreclr,roncain/coreclr,schellap/coreclr,ragmani/coreclr,cydhaselton/coreclr,josteink/coreclr,LLITCHEV/coreclr,tijoytom/coreclr