Skip to content
Permalink
Browse files

Provide safety check helpers in release builds

debug_assert! uses

    if cfg!(not(ndebug)) { ... }

so the body in a release build is dead code, but it still needs to compile.
  • Loading branch information
kmcallister committed Oct 24, 2014
1 parent 4dee8ec commit f508a82582843cb0fdacdcd88be2f73d59529203
Showing with 4 additions and 8 deletions.
  1. +0 −1 components/script/dom/bindings/cell.rs
  2. +4 −7 components/util/task_state.rs
@@ -46,7 +46,6 @@ impl<T> DOMRefCell<T> {
/// Is the cell mutably borrowed?
///
/// For safety checks in debug builds only.
#[cfg(not(ndebug))]
pub fn is_mutably_borrowed(&self) -> bool {
self.borrow.get() == WRITING
}
@@ -5,14 +5,10 @@
//! Supports dynamic assertions in debug builds about what sort of task is
//! running and what state it's in.
//!
//! In release builds, `get` is not available; calls must be inside
//! `debug_assert!` or similar. All of the other functions inline away to
//! nothing.
//! In release builds, `get` returns 0. All of the other functions inline
//! away to nothing.

pub use self::imp::{initialize, enter, exit};

#[cfg(not(ndebug))]
pub use self::imp::get;
pub use self::imp::{initialize, get, enter, exit};

bitflags! {
#[deriving(Show)]
@@ -89,6 +85,7 @@ mod imp {
mod imp {
use super::TaskState;
#[inline(always)] pub fn initialize(_: TaskState) { }
#[inline(always)] pub fn get() -> TaskState { TaskState::empty() }
#[inline(always)] pub fn enter(_: TaskState) { }
#[inline(always)] pub fn exit(_: TaskState) { }
}

5 comments on commit f508a82

@bors-servo

This comment has been minimized.

Copy link
Contributor

@bors-servo bors-servo replied Oct 25, 2014

saw approval from jdm
at kmcallister@f508a82

@bors-servo

This comment has been minimized.

Copy link
Contributor

@bors-servo bors-servo replied Oct 25, 2014

merging kmcallister/servo/domrefcell = f508a82 into auto

@bors-servo

This comment has been minimized.

Copy link
Contributor

@bors-servo bors-servo replied Oct 25, 2014

kmcallister/servo/domrefcell = f508a82 merged ok, testing candidate = 0c12f63

@bors-servo

This comment has been minimized.

Copy link
Contributor

@bors-servo bors-servo replied Oct 25, 2014

@bors-servo

This comment has been minimized.

Copy link
Contributor

@bors-servo bors-servo replied Oct 25, 2014

fast-forwarding master to auto = 0c12f63

Please sign in to comment.
You can’t perform that action at this time.