title: Assemblyscript operator overloading with syntax highlighting
body: <p>I have written a simple Vector3 class in assemblyscript. The code compiles just fine but the typescript syntax highlighter naturally doesn't understand the operator overloads. Is there a way for typescript to resolve the type from assemblyscript operator overloading?</p>
  <ul>
  <li><a href="https://www.assemblyscript.org/peculiarities.html#operator-overloads" rel="nofollow noreferrer">operator overloading docs</a></li>
  </ul>
  <p><strong>Code:</strong></p>
  <pre><code>const a = new Vector3()
  const b = new Vector3()
  
  const c = a + b //red squigglies
  
  //escape hatch method - works but unideal
  //@ts-ignore
  const d = &lt;Vector3&gt;a + b 
  
  
  </code></pre>
  <p><strong>Error Message:</strong></p>
  <p><a href="https://i.stack.imgur.com/Y7gJ6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Y7gJ6.png" alt="error message" /></a></p>
  <p><strong>Class Definition:</strong></p>
  <pre><code>export class Vector3{
      x: f32
      y: f32
      z: f32
      constructor(x: f32 = 0, y: f32 = 0, z: f32 = 0){
          this.x = x
          this.y = y
          this.z = z
      }
  
      @operator('+')
      __op(other: Vector3): Vector3  {
          return new Vector3(
              this.x + other.x,
              this.y + other.y,
              this.z + other.z
          )
      }
  }
  
  </code></pre>