# Data race error A *data race* is similar to a race condition and happens when: * Two or more pointers access the same data at the same time. * At least one of the pointers is being used to write to the data. * There's no synchronization mechanism to protect the data. *Data races* cause undefined behavior and are hard to debug. Rust prevents *data races* by allowing only a single mutable reference of a value per scope. :programming: