In Dart 2, it is a compile-time error if a superinitializer appears in an initializer list at any other position than at the end so this rule is made redundant by the Dart analyzer's basic checks and is no longer necessary.