Skip to content

It looks like copy constructor attempts to copy static fields #44879

@AlekseyTs

Description

@AlekseyTs
data class C(int x)
{
    static int y = 123;
}

Observed:

warning CS1717: Assignment made to same variable; did you mean to assign something else?
    .method public hidebysig specialname rtspecialname 
        instance void .ctor (
            class C ''
        ) cil managed 
    {
        // Method begins at RVA 0x20a8
        // Code size 30 (0x1e)
        .maxstack 8

        IL_0000: ldarg.0
        IL_0001: call instance void [System.Private.CoreLib]System.Object::.ctor()
        IL_0006: nop
        IL_0007: ldarg.0
        IL_0008: ldarg.1
        IL_0009: ldfld int32 C::'<x>k__BackingField'
        IL_000e: stfld int32 C::'<x>k__BackingField'
        IL_0013: ldsfld int32 C::y
        IL_0018: stsfld int32 C::y
        IL_001d: ret
    } // end of method C::.ctor

https://sharplab.io/#v2:EYLgZgpghgLgrgJwgZwLRIMYHsEBNkA0MIAlgDYG4gDUAPrrFAAQACATEwMIAUJAdjCYAPAJQBYAFABvSUzmsAjADYm/QQE8mAXiYK2AZgDckgL6TJfKAFsUABygYIigHQAlOAJI3nnLFdvkEAgAykEAbiSOyJIyEvKs+kzI0GQQuKwcAJLIAKJCMEGWZJl8JDCy8rHxZhI1QA==

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions