message: Workaround two bugs
diff: @@ -188,6 +188,9 @@ pub fn trans_fn<'a, 'tcx: 'a>(
  values,
  targets,
  } => {
  + fx.bcx.ins().trap(TrapCode::User(0));
  + // TODO: prevent panics on large and negative disciminants
  + if false {
  let discr = trans_operand(fx, discr).load_value(fx);
  let mut jt_data = JumpTableData::new();
  for (i, value) in values.iter().enumerate() {
  @@ -199,6 +202,7 @@ pub fn trans_fn<'a, 'tcx: 'a>(
  let otherwise_ebb = fx.get_ebb(targets[targets.len() - 1]);
  fx.bcx.ins().jump(otherwise_ebb, &[]);
  }
  + }
  TerminatorKind::Call {
  func,
  args,
  @@ -431,7 +435,7 @@ fn trans_stmt<'a, 'tcx: 'a>(
  let val = CValue::const_val(fx, fx.tcx.types.usize, ty_size as i64);
  lval.write_cvalue(fx, val);
  }
  - Rvalue::Aggregate(_, _) => bug!("shouldn't exist at trans {:?}", rval),
  + Rvalue::Aggregate(_, _) => return Err(format!("shouldn't exist at trans {:?}", rval)),
  }
  }
  StatementKind::StorageLive(_)
  