- // MIR for `mutate_discriminant` before DataflowConstProp
+ // MIR for `mutate_discriminant` after DataflowConstProp
  
  fn mutate_discriminant() -> u8 {
      let mut _0: u8;
      let mut _1: std::option::Option<NonZeroUsize>;
      let mut _2: isize;
  
      bb0: {
          discriminant(_1) = 1;
          (((_1 as variant#1).0: NonZeroUsize).0: usize) = const 0_usize;
          _2 = discriminant(_1);
          switchInt(copy _2) -> [0: bb1, otherwise: bb2];
      }
  
      bb1: {
          _0 = const 1_u8;
          return;
      }
  
      bb2: {
          _0 = const 2_u8;
          unreachable;
      }
  }
  
