message: [lookup] If a table has ID 0, then it must have a zero entry
diff: @@ -205,12 +205,19 @@ impl<F: FftField + SquareRootField> LookupConstraintSystem<F> {
  let mut table_ids: Vec<F> = Vec::with_capacity(d1_size);
  let mut non_zero_table_id = false;
  + let mut has_table_id_0 = false;
  + let mut has_table_id_0_with_zero_entry = false;
  for table in lookup_tables.iter() {
  let table_len = table.data[0].len();
  if table.id != 0 {
  non_zero_table_id = true;
  + } else {
  + has_table_id_0 = true;
  + if table.has_zero_entry() {
  + has_table_id_0_with_zero_entry = true;
  + }
  }
  //~ - Update the corresponding entries in a table id vector (of size the domain as well)
  @@ -232,6 +239,12 @@ impl<F: FftField + SquareRootField> LookupConstraintSystem<F> {
  }
  }
  + // If a table has ID 0, then it must have a zero entry.
  + // This is for the dummy lookups to work.
  + if has_table_id_0 && !has_table_id_0_with_zero_entry {
  + return Err(LookupError::TableIDZeroMustHaveZeroEntry);
  + }
  +
  // Note: we use `>=` here to leave space for the dummy value.
  if lookup_table[0].len() >= max_num_entries {
  return Err(LookupError::LookupTableTooLong {
  