title: Can the `restrict` keyword be used in the function definition only?
body: <p>I am wondering if it is possible to include the <code>restrict</code> keyword only in the function definition and not in the function declaration like so:</p>
  <pre><code>void foo(char *bar);
  
  void foo(char * restrict bar)
  {
      // do something
  }
  </code></pre>
  <p>Since <code>foo</code> only takes one argument, any pointer aliasing would have to take place inside <code>foo</code>. There would be no need for the person calling the function to know about the <code>restrict</code> modifier. Would it be fine to omit the keyword in only the function declaration, just like with <code>const</code>?</p>