title: binary operation `|` cannot be applied to type
body: <p>I have this error </p>
  
  <blockquote>
    <p>error: binary operation <code>|</code> cannot be applied to type <code>&amp;mut u16</code></p>
  </blockquote>
  
  <p>With this code,</p>
  
  <pre><code>fn f_op(op: &amp;mut u16) {
  
      let mut addr: u16 = (op | 0xFFF);
      ..//
  }
  </code></pre>
  
  <p>Solve it change <code>&amp;mut</code> to <code>&amp;</code></p>
  
  <pre><code>fn f_op(op: &amp; u16) {
  </code></pre>
  
  <p>But I wonder why I can not use <code>|</code> with <code>&amp;mut</code>, sure there exists a good reason, but someone can explain to me.</p>
  
  <p><kbd><a href="https://play.rust-lang.org/?gist=f0c3f998171e9bfa77d6fec94807911b&amp;version=stable&amp;backtrace=0" rel="nofollow">Play-Rust</a></kbd></p>