V
Size: a a a
V
EG
let is_helper = if let Some(m) = <var> { m.roles.contains(x) } else { false };
EG
forward_ref_unop! { impl Not, not for $t }
#[stable(feature = "rust1", since = "1.0.0")]
impl Not for $t {
type Output = $t;
#[inline]
fn not(self) -> $t { !self }
}
V
EG
!
оператора определяется имплементацией трейта Not
. А тут в имплементации используется !self
. Это как? :)rustc +nightly -Z force-overflow-checks=no demo.rs
)AM
V
rustc +nightly -Z force-overflow-checks=no demo.rs
)АГ
АГ
EG
println!()
мутабельную ссылку на s
и сам s
.println!()
. Соответственно, у тебя одновременно существует &&mut s
и &s
, что противоречит правилам алиасинга: мутабельная ссылка не может сосуществовать с другой ссылкой.АГ
AM
println!()
мутабельную ссылку на s
и сам s
.println!()
. Соответственно, у тебя одновременно существует &&mut s
и &s
, что противоречит правилам алиасинга: мутабельная ссылка не может сосуществовать с другой ссылкой.AM
A
A
A
EG
Display::fmt()
принимает &self
EG
&*
может под капотом вызывать Deref::deref
A
EG
&String
в &str