File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -74,12 +74,19 @@ behavior** in your program, and cannot run all programs:
74
74
unobservable by compiled programs running on real hardware when ` SeqCst ` fences are used, and it
75
75
cannot produce all behaviors possibly observable on real hardware.
76
76
77
+ Moreover, Miri fundamentally cannot tell you whether your code is * sound* . [ Soundness] is the property
78
+ of never causing undefined behavior when invoked from arbitrary safe code, even in combination with
79
+ other sound code. In contrast, Miri can just tell you if * a particular way of interacting with your
80
+ code* (e.g., a test suite) causes any undefined behavior. It is up to you to ensure sufficient
81
+ coverage.
82
+
77
83
[ rust ] : https://www.rust-lang.org/
78
84
[ mir ] : https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md
79
85
[ `unreachable_unchecked` ] : https://doc.rust-lang.org/stable/std/hint/fn.unreachable_unchecked.html
80
86
[ `copy_nonoverlapping` ] : https://doc.rust-lang.org/stable/std/ptr/fn.copy_nonoverlapping.html
81
87
[ Stacked Borrows ] : https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md
82
88
[ Tree Borrows ] : https://perso.crans.org/vanille/treebor/
89
+ [ Soundness ] : https://rust-lang.github.io/unsafe-code-guidelines/glossary.html#soundness-of-code--of-a-library
83
90
84
91
85
92
## Using Miri
You can’t perform that action at this time.
0 commit comments