Skip to content

Static [InlineArray] of self type crashes when loading type #118821

@bruce965

Description

@bruce965

Description

A struct containing a static [InlineArray] of itself always crashes at runtime.

Reproduction Steps

In a new console project, paste this code.

using System;
using System.Runtime.CompilerServices;

Hello a;

[InlineArray(1)]
struct HelloBuffer
{
    Hello _v;
}

struct Hello
{
    static HelloBuffer s_buffer;

    int _v;
}

Expected behavior

Should compile and run, without producing any output.

Actual behavior

Compiles, but crashes at runtime.

Unhandled exception. System.TypeLoadException: Could not load type 'Hello' from assembly 'a, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
   at Program.<Main>$(String[] args)

Regression?

No response

Known Workarounds

Just place the buffer in a separate class.

using System;
using System.Runtime.CompilerServices;

Hello a;

[InlineArray(1)]
struct HelloBuffer
{
    Hello _v;
}

static class HelloBufferHelper
{
    static HelloBuffer s_buffer;
}

struct Hello
{
    int _v;
}

Configuration

.NET 9.0.203

Linux 6.15.9-106.bazzite.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Aug 9 13:06:19 UTC 2025 x86_64 GNU/Linux

I haven't tested on different platforms, architectures, .NET versions, and configurations.

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions