From 17a82c5b885aa4bae9367a552142d360601b35aa Mon Sep 17 00:00:00 2001 From: Pat Hickey Date: Mon, 25 Jan 2021 12:16:07 -0800 Subject: [PATCH] table: fix up errnos. trap on internal failures. --- crates/wasi-c2/src/table.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/wasi-c2/src/table.rs b/crates/wasi-c2/src/table.rs index 828483033e..7bcc4655ec 100644 --- a/crates/wasi-c2/src/table.rs +++ b/crates/wasi-c2/src/table.rs @@ -29,7 +29,7 @@ impl Table { self.next_key = self .next_key .checked_add(1) - .ok_or_else(|| anyhow!("out of keys in table"))?; + .ok_or_else(|| Error::trap("out of keys in table"))?; if self.map.contains_key(&key) { continue; } @@ -60,10 +60,10 @@ impl Table { if r.is::() { Ok(Ref::map(r, |r| r.downcast_ref::().unwrap())) } else { - Err(Error::exist().context("element is a different type")) + Err(Error::badf().context("element is a different type")) } } else { - Err(Error::exist().context("element in table, but mutably borrowed")) + Err(Error::trap("table get of mutably borrowed element")) } } else { Err(Error::badf().context("key not in table")) @@ -76,10 +76,10 @@ impl Table { if r.is::() { Ok(RefMut::map(r, |r| r.downcast_mut::().unwrap())) } else { - Err(Error::exist().context("element is a different type")) + Err(Error::badf().context("element is a different type")) } } else { - Err(Error::exist().context("element in table, but borrowed")) + Err(Error::trap("table get_mut of borrowed element")) } } else { Err(Error::badf().context("key not in table"))