Dartlang syntax to extend a class with a mixin?

dart

Solution

This is a form of `mixin application class` declaration.

classDefinition:
  metadata abstract? class mixinApplicationClass

mixinApplicationClass:
  identifier typeParameters? '='  mixinApplication ';'

The mixin application may be used to extend a class;

alternately, a class may be defined as a mixin application as described in this section.

mixinApplicationClass:
  identifier typeParameters? '='  mixinApplication ';'
abstract class FixedLengthListBase<E> =
    ListBase<E> with FixedLengthListMixin<E>;

https://www.dartlang.org/docs/spec/latest/dart-language-specification.html#h.trk07h8vrppk

Problem

Can somebody explain this dart syntax? Is this documented somewhere? ``` abstract class FixedLengthListBase<E> = ListBase<E> with FixedLengthListMixin<E>; ```

Original source