title: Constructors in dart
body: <p>I have this constructor in my class. Now when it's like this, I get</p>
  
  <pre><code>The type parameter icon is annotated with @required
  but only named parameters without default value can be annotated with it.
  </code></pre>
  
  <p>-</p>
  
  <pre><code>const Category(
      @required this.name,
      @required this.icon,
      @required this.color
    ) : assert(name != null),
        assert(icon != null),
        assert(color != null);
  </code></pre>
  
  <p>And when calling the constructor like this:</p>
  
  <pre><code>        Category(name: _categoryName, icon: _categoryIcon, color: _categoryColor),
  </code></pre>
  
  <p>It's an error.</p>
  
  <p>All of this goes away when I surround my constructor arguments with {}.</p>
  
  <p>What does this mean? </p>