diff --git a/accepted/future-releases/extension-types/feature-specification.md b/accepted/future-releases/extension-types/feature-specification.md index f0dfa1c217..618a624a72 100644 --- a/accepted/future-releases/extension-types/feature-specification.md +++ b/accepted/future-releases/extension-types/feature-specification.md @@ -15,6 +15,11 @@ information about the process, including in their change logs. [1]: https://github.com/dart-lang/language/blob/master/working/1426-extension-types/feature-specification-views.md [2]: https://github.com/dart-lang/language/blob/master/working/extension_structs/overview.md +2023.10.25 + - Allow an extension type to have `implements T` where `T` is a + supertype of the representation type (the old rule only allows + it when the representation type of `T` is a supertype). + 2023.10.18 - Add error for non-covariant occurrence of a type variable in a superinterface. @@ -1185,7 +1190,7 @@ representation type `R`, and that the extension type `V1` with declaration _DV1_ is a superinterface of _DV_ (*note that `V1` may have some actual type arguments*). Assume that `S` is the instantiated representation type corresponding to `V1`. A compile-time -error occurs if `R` is not a subtype of `S`. +error occurs if `R` is neither a subtype of `S` nor a subtype of `V1`. *This ensures that it is sound to bind the value of `id` in _DV_ to `id1` in `V1` when invoking members of `V1`, where `id` is the representation