"parameter `'a` is never used" error when 'a is used in type parameter bound
<pre><code>use std::iter::Iterator;

trait ListTerm&lt;'a&gt; {
    type Iter: Iterator&lt;Item = &amp;'a u32&gt;;
    fn iter(&amp;'a self) -&gt; Self::Iter;
}

enum TermValue&lt;'a, LT&gt;
where
    LT: ListTerm&lt;'a&gt; + Sized + 'a,
{
    Str(LT),
}
</code></pre>

<pre class="lang-none prettyprint-override"><code>error[E0392]: parameter `'a` is never used
 --&gt; src/main.rs:8:16
  |
8 | enum TermValue&lt;'a, LT&gt;
  |                ^^ unused type parameter
  |
  = help: consider removing `'a` or using a marker such as `std::marker::PhantomData`
</code></pre>

<p><code>'a</code> clearly is being used. Is this a bug, or are parametric enums just not really finished? <code>rustc --explain E0392</code> recommends the use of <code>PhantomData&lt;&amp;'a _&gt;</code>, but I don't think there's any opportunity to do that in my use case.</p>