tests/cases/conformance/types/primitives/null/validNullAssignments.ts(10,3): error TS2540: Cannot assign to 'A' because it is a constant or a read-only property.
tests/cases/conformance/types/primitives/null/validNullAssignments.ts(15,1): error TS2539: Cannot assign to 'C' because it is not a variable.
tests/cases/conformance/types/primitives/null/validNullAssignments.ts(20,1): error TS2693: 'I' only refers to a type, but is being used as a value here.
tests/cases/conformance/types/primitives/null/validNullAssignments.ts(23,1): error TS2539: Cannot assign to 'M' because it is not a variable.
tests/cases/conformance/types/primitives/null/validNullAssignments.ts(30,1): error TS2539: Cannot assign to 'i' because it is not a variable.


==== tests/cases/conformance/types/primitives/null/validNullAssignments.ts (5 errors) ====
    var a: number = null;
    var b: boolean = null;
    var c: string = null;
    var d: void = null;
    
    var e: typeof undefined = null;
    e = null; // ok
    
    enum E { A }
    E.A = null; // error
      ~
!!! error TS2540: Cannot assign to 'A' because it is a constant or a read-only property.
    
    class C { foo: string }
    var f: C;
    f = null; // ok
    C = null; // error
    ~
!!! error TS2539: Cannot assign to 'C' because it is not a variable.
    
    interface I { foo: string }
    var g: I;
    g = null; // ok
    I = null; // error
    ~
!!! error TS2693: 'I' only refers to a type, but is being used as a value here.
    
    module M { export var x = 1; }
    M = null; // error
    ~
!!! error TS2539: Cannot assign to 'M' because it is not a variable.
    
    var h: { f(): void } = null;
    
    function i<T>(a: T) {
        a = null;
    }
    i = null; // error
    ~
!!! error TS2539: Cannot assign to 'i' because it is not a variable.