- // MIR for `cannot_opt_generic` before RemoveUnneededDrops
+ // MIR for `cannot_opt_generic` after RemoveUnneededDrops
  
  fn cannot_opt_generic(_1: T) -> () {
      let mut _0: ();
  
      bb0: {
          drop(_1) -> [return: bb1, unwind unreachable];
      }
  
      bb1: {
          return;
      }
  }
  
