Skip to content

Commit

Permalink
remove some errors around abstract and external varaibles (#4023)
Browse files Browse the repository at this point in the history
  • Loading branch information
jakemac53 authored Aug 8, 2024
1 parent 4e583e5 commit 5527a8f
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions working/augmentation-libraries/feature-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -722,11 +722,9 @@ It is a **compile-time error** if:
const variable be augmented by another const variable, changing its value,
or is that too weird?)**

* An `abstract` variable is augmented with a non-abstract variable, getter,
or setter.
* An `abstract` variable is augmented with a non-abstract variable.

* An `external` declaration is augmented with an `abstract` declaration. For
variables this also applies to the implicit getter and setter.
* An `external` variable is augmented with an `abstract` variable.

### Augmenting enum values

Expand Down Expand Up @@ -1199,9 +1197,6 @@ declaration ::= 'external' factoryConstructorSignature

It is a compile-time error if:

* A function, getter, setter, or operator declaration marked `augment` is also
abstract. **(TODO: Remove. This can be used to add metadata.)**

* A declaration marked `augment` is also marked `external`. **(TODO: Probably
remove for functions, so change to "A variable declaration". A macro should
be able to implement a method as an external with a `@JS()` annotation.)**
Expand Down Expand Up @@ -1399,6 +1394,15 @@ to the augmentation.

## Changelog

### 1.34

* Revert some errors introduced in version 1.28.

* An abstract variable can now be augmented with non-abstract getters and
setters.
* External variables can now be augmented with abstract getters and
setters.

### 1.33

* Change the grammar to remove the primary constructor parts of an
Expand Down

0 comments on commit 5527a8f

Please sign in to comment.