ISLE: Allow shadowing in let expressions (#4562)

* Support shadowing in isle

* Re-run the isle build.rs if the examples change

* Print error messages when isle tests fail

* Move run tests

* Refactor `let` uses that don't need to introduce unique names
This commit is contained in:
Trevor Elliott
2022-08-01 14:10:28 -07:00
committed by GitHub
parent 25782b527e
commit 586ec95c11
10 changed files with 153 additions and 86 deletions

View File

@@ -11,11 +11,15 @@ fn build(filename: &str) -> Result<String> {
}
pub fn run_pass(filename: &str) {
assert!(build(filename).is_ok());
if let Err(err) = build(filename) {
panic!("pass test failed:\n{}", err);
}
}
pub fn run_fail(filename: &str) {
assert!(build(filename).is_err());
if build(filename).is_ok() {
panic!("test {} passed unexpectedly", filename);
}
}
fn build_and_link_isle(isle_filename: &str) -> (tempfile::TempDir, std::path::PathBuf) {