title: How to override trait function and call it from the overridden function?
body: <p>Scenario:</p>
  
  <pre><code>trait A {
      function calc($v) {
          return $v+1;
      }
  }
  
  class MyClass {
      use A;
  
      function calc($v) {
          $v++;
          return A::calc($v);
      }
  }
  
  print (new MyClass())-&gt;calc(2); // should print 4
  </code></pre>
  
  <p>This code doesn't work, and I cannot find a way to call a trait function like it was inherited. I tried calling <code>self::calc($v)</code>, <code>static::calc($v)</code>, <code>parent::calc($v)</code>, <code>A::calc($v)</code> and the following:</p>
  
  <pre><code>trait A {
      function calc($v) {
          return $v+1;
      }
  }
  
  class MyClass {
      use A {
          calc as traitcalc;
      }
  
      function calc($v) {
          $v++;
          return traitcalc($v);
      }
  }
  </code></pre>
  
  <p>Nothing works.  </p>
  
  <p>Is there a way to make it work or must I override completely the trait function which is much more complex than this :)</p>