generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 142
Closed
Labels
[C] BugThis is a bug. Something isn't working.This is a bug. Something isn't working.
Description
I tried this code, which is a slightly modified example from the proptest book (https://altsysrq.github.io/proptest-book/proptest/getting-started.html):
#![allow(unused)]
fn __nondet<T>() -> T {
unimplemented!()
}
fn __VERIFIER_assume(cond: bool) {
unimplemented!()
}
fn parse_date(s: &str) -> Option<(u32, u32, u32)> {
if 10 != s.len() {
return None;
}
if "-" != &s[4..5] || "-" != &s[7..8] {
return None;
}
let year = &s[0..4];
let month = &s[5..7]; //< fixed from example that can be found using proptest
let day = &s[8..10];
year.parse::<u32>().ok().and_then(|y| {
month
.parse::<u32>()
.ok()
.and_then(|m| day.parse::<u32>().ok().map(|d| (y, m, d)))
})
}
pub fn main() {
let y: u32 = __nondet();
let m: u32 = __nondet();
let d: u32 = __nondet();
__VERIFIER_assume(0 <= y && y < 10000);
__VERIFIER_assume(1 <= m && m < 13);
__VERIFIER_assume(1 <= d && d < 32);
let (y2, m2, d2) = parse_date(&format!("{:04}-{:02}-{:02}", y, m, d)).unwrap();
assert!(y == y2);
assert!(m == m2);
assert!(d == d2);
}using the following command line invocation:
rmc example.rs
with RMC version: a728d8d
I expected to see this happen: VERIFICATION SUCCESSFUL
Instead, this happened: VERIFICATION FAILED
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
[C] BugThis is a bug. Something isn't working.This is a bug. Something isn't working.