-
Notifications
You must be signed in to change notification settings - Fork 360
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #1250 - RalfJung:error-context, r=oli-obk
give some context in error messages ### Some examples for how different errors look now Unsupported operation: ``` error: unsupported operation: Miri does not support threading --> /home/r/.rustup/toolchains/miri/lib/rustlib/src/rust/src/libstd/sys/unix/thread.rs:68:19 | 68 | let ret = libc::pthread_create(&mut native, &attr, thread_start, &*p as *const _ as *mut _); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Miri does not support threading | = help: this is likely not a bug in the program; it indicates that the program performed an operation that the interpreter does not support ``` Unsupported operation that works without isolation: ``` error: unsupported operation: `clock_gettime` not available when isolation is enabled --> /home/r/.rustup/toolchains/miri/lib/rustlib/src/rust/src/libstd/sys/unix/time.rs:349:22 | 349 | cvt(unsafe { libc::clock_gettime(clock, &mut t.t) }).unwrap(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `clock_gettime` not available when isolation is enabled | = help: pass the flag `-Zmiri-disable-isolation` to disable isolation ``` Program abort: ``` error: program stopped: the evaluated program aborted execution --> /home/r/.rustup/toolchains/miri/lib/rustlib/src/rust/src/libstd/panicking.rs:530:18 | 530 | unsafe { intrinsics::abort() } | ^^^^^^^^^^^^^^^^^^^ the evaluated program aborted execution | ``` UB: ``` error: Undefined Behavior: type validation failed: encountered 2, but expected a boolean --> tests/compile-fail/validity/invalid_bool.rs:2:23 | 2 | let _b = unsafe { std::mem::transmute::<u8, bool>(2) }; //~ ERROR encountered 2, but expected a boolean | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 2, but expected a boolean | = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior ``` Experimental UB: ``` error: Undefined Behavior: not granting access to tag <1562> because incompatible item is protected: [Unique for <1567> (call 1189)] --> tests/compile-fail/stacked_borrows/aliasing_mut1.rs:3:1 | 3 | pub fn safe(_x: &mut i32, _y: &mut i32) {} //~ ERROR protect | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not granting access to tag <1562> because incompatible item is protected: [Unique for <1567> (call 1189)] | = help: this indicates a potential bug in the program: it performed an invalid operation, but the rules it violated are still experimental ``` Fixes #417
- Loading branch information
Showing
5 changed files
with
123 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters