title: "Unconstrained generic constant" when adding const generics
body: <p>How would I add const generics? Lets say I have a type foo:</p>
  <pre><code>pub struct foo &lt;const bar: i64&gt; {
      value: f64,
  }
  </code></pre>
  <p>and I want to implement mul so I can multiply 2 <code>foo</code>s together. I want to treat <code>bar</code> as a dimension, so <code>foo&lt;baz&gt;{value: x} * foo&lt;quux&gt;{value: k} == foo&lt;baz + quux&gt;{value: x * k}</code>, as follows:</p>
  <pre><code>impl&lt;const baz: i64, const quux: i64&gt; Mul&lt;foo&lt;quux&gt;&gt; for foo&lt;baz&gt; {
      type Output = foo&lt;{baz + quux}&gt;;
  
      fn mul(self, rhs: foo&lt;quux&gt;) -&gt; Self::Output {
          Self::Output {
              value: self.value * rhs.value,
          }
      }
  }
  </code></pre>
  <p>I get an error telling me I need to add a where bound on <code>{baz+quux}</code> within the definition of the output type. What exactly does this mean and how do I implement it? I can't find any seemingly relevant information on <code>where</code>.</p>