title: Is being a POD type exactly equivalent to being a trivial, standard-layout type?
body: <p>In C++20, the concept of POD is deprecated, supposedly because it is a meaningless composite trait of being trivial and standard-layout. However, <a href="http://eel.is/c++draft/depr.meta.types" rel="noreferrer">the definition of POD</a> in the C++20 draft is not exactly "both trivial and standard-layout"; it is actually:</p>
  
  <blockquote>
    <p>A POD class is a class that is both a trivial class and a standard-layout class, and has no non-static data members of type non-POD class (or array thereof). A POD type is a scalar type, a POD class, an array of such a type, or a cv-qualified version of one of these types.</p>
  </blockquote>
  
  <p>In other words, not only is a POD type both trivial and standard-layout, but it is also recursively so.</p>
  
  <p>Is this recursive requirement redundant? In other words, if a type is both trivial and standard-layout, is it automatically recursively trivial and standard-layout as well? If the answer is "no", then what is an example of a standard-layout, trivial type that fails to be POD?</p>