specified bit-position to 1. Returns `true` if the specified bit was previously set to 1. `bit_set` takes an [`Ordering`] argument which describes the memory ordering of this operation. All ordering modes are possible. Note that using [`Acquire`] makes the store part of this operation [`Relaxed`], and using [`Release`] makes the load part [`Relaxed`]. This corresponds to x86's `lock bts`, and the implementation calls them on x86/x86_64. # Examples ``` use portable_atomic::{AtomicUsize, Ordering}; let foo = AtomicUsize::new(0b0000); assert!(!foo.bit_set(0, Ordering::Relaxed)); assert_eq!(foo.load(Ordering::Relaxed), 0b0001); assert!(foo.bit_set(0, Ordering::Relaxed)); assert_eq!(foo.load(Ordering::Relaxed), 0b0001); ```