title: Why structs cannot be assigned directly?
body: <p>Suppose I have a fully defined struct with tag <code>MyStruct</code>, and suppose that <code>x, y, ..., z</code> are allowed values for its fields. Why is</p>
  
  <pre><code>struct MyStruct q = {x,y,..,z};
  </code></pre>
  
  <p>allowed, but</p>
  
  <pre><code>struct MyStruct q;
  q = {x,y,...,z};
  </code></pre>
  
  <p>is not allowed? I find this very annoying. In the second case, where I have previously declared <code>q</code>, I need to assign a value to each field, one by one:</p>
  
  <pre><code>q.X = x; q.Y = y; ... q.Z = z;
  </code></pre>
  
  <p>where <code>X, Y, ..., Z</code> are the fields of <code>MyStruct</code>. Is there a reason behind this?</p>