Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

JohnChen0
Copy link

Port commit 70aee6c from master branch to release/1.0.0-rc2 branch

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.M normally reaches a shared generic
method S<__Canon>.M, but for delegate creation we need to use the actual
S.M. Ready To Run generated code that attempts to create delegate using
S<__Canon>.M, which is not allowed.

Port commit 70aee6c from master branch to release/1.0.0-rc2 branch

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.
@ellismg ellismg merged commit 17c2640 into dotnet:release/1.0.0-rc2 Mar 24, 2016
@JohnChen0 JohnChen0 deleted the r2r-release branch May 10, 2016 16:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants