title: Is it wrong if the standard container element type and std::allocator type are different?
body: <p>Take from <a href="http://stdcxx.apache.org/doc/stdlibug/15-2.html" rel="noreferrer">here</a> (which is quite old):</p>
  
  <blockquote>
    <p>It's also important that the type used for the allocator template
    parameter and the type used as the element type in a standard
    container agree. For instance:</p>
  
  <pre><code>std::list&lt;int, std::allocator&lt;long&gt; &gt;                    // Wrong!
  </code></pre>
    
    <p>won't work.</p>
  </blockquote>
  
  <p><strong>Question</strong></p>
  
  <p>Is the above statement correct (or was it ever correct)? Any tests I have done seem to work fine no matter what I put for <code>T</code> in <code>std::allocator</code>. For example, <code>std::vector&lt;int, std::allocator&lt;std::string&gt;&gt;</code> compiled and worked fine pushing back and erasing elements, etc.
  (From what I understand <code>std::allocator&lt;std::string&gt;::rebind&lt;int&gt;::other</code> is the magic that makes this work).</p>