Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report WRN_UninitializedNonNullableField warnings for static fields. #30020

Closed
AlekseyTs opened this issue Sep 19, 2018 · 2 comments
Closed

Report WRN_UninitializedNonNullableField warnings for static fields. #30020

AlekseyTs opened this issue Sep 19, 2018 · 2 comments

Comments

@AlekseyTs
Copy link
Contributor

        // PROTOTYPE(NullableReferenceTypes): Report warnings for static fields.
        [Fact]
        public void StaticFields_DefaultConstructor()
        {
            var source =
@"class C
{
#pragma warning disable 0169
    private static object F1;
    private static object F2 = new object();
    private readonly static object F3;
    private readonly static object F4 = new object();
}";
            var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
            comp.VerifyDiagnostics();
                //// (8,12): warning CS8618: Non-nullable field 'F3' is uninitialized.
                ////     static C()
                //Diagnostic(ErrorCode.WRN_UninitializedNonNullableField, "C").WithArguments("field", "F3").WithLocation(8, 12),
                //// (8,12): warning CS8618: Non-nullable field 'F1' is uninitialized.
                ////     static C()
                //Diagnostic(ErrorCode.WRN_UninitializedNonNullableField, "C").WithArguments("field", "F1").WithLocation(8, 12));
        }

        // PROTOTYPE(NullableReferenceTypes): Report warnings for static fields.
        [Fact]
        public void StaticFields_ExplicitConstructor()
        {
            var source =
@"class C
{
#pragma warning disable 0169
    private static object F1;
    private static object F2;
    private readonly static object F3;
    private readonly static object F4;
    static C()
    {
        F2 = new object();
        F4 = new object();
    }
}";
            var comp = CreateCompilation(new[] { source, NonNullTypesTrue, NonNullTypesAttributesDefinition }, parseOptions: TestOptions.Regular8);
            comp.VerifyDiagnostics();
                //// (8,12): warning CS8618: Non-nullable field 'F3' is uninitialized.
                ////     static C()
                //Diagnostic(ErrorCode.WRN_UninitializedNonNullableField, "C").WithArguments("field", "F3").WithLocation(8, 12),
                //// (8,12): warning CS8618: Non-nullable field 'F1' is uninitialized.
                ////     static C()
                //Diagnostic(ErrorCode.WRN_UninitializedNonNullableField, "C").WithArguments("field", "F1").WithLocation(8, 12));
        }
@PathogenDavid
Copy link
Contributor

I believe this is a duplicate of #27014.

@gafter gafter modified the milestones: 16.0, 16.1 Feb 26, 2019
@jcouv jcouv modified the milestones: 16.1, 16.2 Apr 23, 2019
@jcouv jcouv modified the milestones: 16.2, 16.3 Jun 18, 2019
@jcouv jcouv modified the milestones: 16.3, Compiler.Next Jul 11, 2019
@cston
Copy link
Member

cston commented Jul 25, 2019

Closing as a duplicate of #34668.

@cston cston closed this as completed Jul 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants