Skip to content

Commit a41b209

Browse files
committed
Provide messages via expect, instead of unwrap
1 parent 9e64f63 commit a41b209

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

verify/rust_verify/tests/recursion.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ test_verify_with_pervasive! {
9292
fn count_down_b_stmt(i:nat) {
9393
decreases(i);
9494

95-
if i != 0 {
95+
if i != 0 {
9696
count_down_a_stmt(i - 1);
9797
}
9898
}
9999
} => Ok(())
100100
}
101-
101+
102102
test_verify_with_pervasive! {
103103
// Expression that fails to decrease
104104
#[test] expr_decrease_fail_1 code! {
@@ -185,7 +185,6 @@ test_verify_with_pervasive! {
185185
} => Err(err) => assert_one_fails(err)
186186
}
187187

188-
189188
test_verify_with_pervasive! {
190189
// Mutually recursive expressions fail to decrease
191190
#[test] mutual_expr_decrease_fail code! {
@@ -221,15 +220,15 @@ test_verify_with_pervasive! {
221220
fn count_down_b_stmt(i:nat) {
222221
decreases(i);
223222

224-
if i != 0 {
223+
if i != 0 {
225224
count_down_a_stmt(i + 1); // FAILS
226225
}
227226
}
228227
} => Err(err) => assert_two_fails(err)
229228
}
230-
231-
// TODO: Expression that fails to decrease in a function returning unit
232-
/*
229+
230+
// TODO: Expression that fails to decrease in a function returning unit
231+
/*
233232
test_verify_with_pervasive! {
234233
#[test] unit_expr_decrease_fail code! {
235234
#[spec]
@@ -243,4 +242,3 @@ test_verify_with_pervasive! {
243242
} => Err(err) => assert_one_fails(err)
244243
}
245244
*/
246-

verify/vir/src/recursion.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,15 @@ fn check_decrease_rename(ctxt: &Ctxt, span: &Span, args: &Exps) -> Exp {
6363
}
6464

6565
fn update_decreases_exp<'a>(ctxt: &'a Ctxt, name: &Ident) -> Result<Ctxt<'a>, VirErr> {
66-
let function = ctxt.ctx.func_map.get(name).unwrap();
67-
let (new_decreases_expr, _) = function.x.decrease.as_ref().unwrap().clone();
66+
let function = ctxt.ctx.func_map.get(name).expect("func_map should hold all functions");
67+
let (new_decreases_expr, _) = function
68+
.x
69+
.decrease
70+
.as_ref()
71+
.expect("shouldn't call update_decreases_exp on a function without a decreases clause")
72+
.clone();
6873
let new_decreases_exp = crate::ast_to_sst::expr_to_exp(ctxt.ctx, &new_decreases_expr)?;
69-
Ok(Ctxt {
70-
decreases_exp: new_decreases_exp,
71-
..ctxt.clone()
72-
})
74+
Ok(Ctxt { decreases_exp: new_decreases_exp, ..ctxt.clone() })
7375
}
7476

7577
// Check that exp terminates

verify/vir/src/scc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ impl<T: std::cmp::Eq + std::hash::Hash + Clone> Graph<T> {
7878
Some(v) => *v,
7979
None => {
8080
self.add_node(value.clone());
81-
*self.h.get(&value).unwrap()
81+
*self.h.get(&value).expect("Just added this node, so get should always succeed")
8282
}
8383
}
8484
}
@@ -159,7 +159,7 @@ impl<T: std::cmp::Eq + std::hash::Hash + Clone> Graph<T> {
159159
pub fn get_scc_rep(&self, t: &T) -> T {
160160
assert!(self.has_run);
161161
assert!(self.mapping.contains_key(&t));
162-
let id = self.mapping.get(&t).unwrap();
162+
let id = self.mapping.get(&t).expect("key was present in the line above");
163163
self.nodes[self.sccs[*id].rep()].t.clone()
164164
}
165165
}

0 commit comments

Comments
 (0)