-
-
Notifications
You must be signed in to change notification settings - Fork 31
Open
Description
Current candidate: v3
module lang
/*
* PROPOSALS
*/
/* v1 */
open type Foo {
shared String name
shared Int value
internal nil Bar optional
init (String name, Int value) {
this.name = name
this.value = value
}
init (String name, Int value, Bar optional) {
this(name, value)
this.optional = optional
}
}
/* v2 */
open type Foo (
shared String name
shared Int value
) {
internal nil Bar optional
init (String name, Int value, Bar optional) {
this(name, value)
this.optional = optional
}
}
/* v3 */
open type Foo {
shared String name
shared Int value
~ internal State state1
~ internal mut State mutableState2 = State()
init (base) {
this.mutableState1 = State(name, value)
}
}
/* v4 */
open type Foo {
shared base String name
shared base Int value
internal State state1
internal mut State mutableState2 = State()
init (base) {
this.mutableState1 = State(name, value)
}
}
/* v5 */
open type Foo {
shared String name
shared Int value
internal ext State state1
internal mut ext State mutableState2 = State()
init (base) {
this.mutableState1 = State(name, value)
}
}Reactions are currently unavailable