Skip to content

&& and || expression will not change the NONNULL flag #2359

Closed
@HerrCai0907

Description

@HerrCai0907

This code should not pass the compile.

export function _start(): void {
  let value: A | null = new A();
  if (value != null) {
    // value = null;  // cause compile error correctly
    true && (value = null); // compile passed, but value is changed to zero now
    let a1 = value.a1;
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions