From 0c18da503ca674eb4cbf8504b52afb2d7c242ae5 Mon Sep 17 00:00:00 2001 From: Viktor Dahl Date: Thu, 16 Oct 2014 14:20:54 +0200 Subject: [PATCH] Improve documentation of assume intrinsic. --- src/libcore/intrinsics.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libcore/intrinsics.rs b/src/libcore/intrinsics.rs index 5570d356149d..674cb271b3f3 100644 --- a/src/libcore/intrinsics.rs +++ b/src/libcore/intrinsics.rs @@ -259,7 +259,11 @@ extern "rust-intrinsic" { /// Inform the optimizer that a condition is always true. /// If the condition is false, the behavior is undefined. /// - /// No code is generated for this intrisic. + /// No code is generated for this intrinsic, but the optimizer will try + /// to preserve it (and its condition) between passes, which may interfere + /// with optimization of surrounding code and reduce performance. It should + /// not be used if the invariant can be discovered by the optimizer on its + /// own, or if it does not enable any significant optimizations. #[cfg(not(stage0))] pub fn assume(b: bool);