SharpLab icon indicating copy to clipboard operation
SharpLab copied to clipboard

Combination ref struct and ref parameter causes type constraint IL verification errors

Open mikernet opened this issue 6 months ago • 0 comments

Description

Combination of ref struct and ref parameters causes validation to fail for the code below. Making BinaryReader a normal non-ref struct or making the parameters non-ref causes the validation error to go away.

Reproduction Steps

Sharplab link

ref struct BinaryReader {}

static class IntProcessor
{
    public static void Read(ref BinaryReader reader)
    {
    }
}

public static class Program {
    public static void Main() {
        BinaryReader reader = new();
        IntProcessor.Read(ref reader);
    }
}

Configuration

.NET 8.0.0

mikernet avatar Feb 24 '24 17:02 mikernet