title: c# 9.0 records and nullability
body: <p>I'm trying out the new record features using latest .Net5</p>
  <pre><code>  public record Rec {
      public string Name;
      public int Id;
      //public Rec(string name, int id) =&gt; (Name, Id) = (name, id);
    }
  </code></pre>
  <p>I get</p>
  <blockquote>
  <p>warning CS8618: Non-nullable field 'Name' is uninitialized. Consider declaring the field as nullable.</p>
  </blockquote>
  <p>So a constructor is not generated whereas I understood that is a feature of records ?<br>
  and why not the same warning for <code>Id</code> ?<br>
  If I unremark the ctor above the warning goes away (which makes sense)</p>
  <p>Also if I do instead:</p>
  <pre><code>public record Rec(string Name, int Id);
  </code></pre>
  <p>There are no warnings.</p>
  <p>EDIT</p>
  <p>so it seems the two forms of creating a record (longer vs shorter syntax) are different, the short version makes the fields public and also adds a ctor whereas the first one does not. I can't find a reference to that.</p>