Merge pull request #353 from susliko/trait-derives

Derives clause for traits
pull/659/head
eugene yokota 2023-09-19 01:11:40 +07:00 committed by GitHub
commit 5fa09e9838
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

@ -786,7 +786,7 @@ Trait definitions
trait A extends B
trait A extends B with C
trait A extends B with C derives D
trait T[U] {
}
@ -805,6 +805,8 @@ trait T[U] extends V.W[U] {
(identifier)
(extends_clause
(type_identifier)
(type_identifier))
(derives_clause
(type_identifier)))
(trait_definition
(identifier)
@ -1330,7 +1332,7 @@ object A:
(indented_cases
(case_clause
(identifier)
(string))))
(string))))
(given_definition
(parameters
(parameter

@ -301,7 +301,7 @@ module.exports = grammar({
$._class_constructor,
field("extend", optional($.extends_clause)),
field("derive", optional($.derives_clause)),
optional($._definition_body),
field("body", optional($._definition_body)),
),
_definition_body: $ =>
@ -329,9 +329,7 @@ module.exports = grammar({
repeat($.annotation),
optional($.modifiers),
"trait",
$._class_constructor,
field("extend", optional($.extends_clause)),
field("body", optional($._definition_body)),
$._class_definition,
),
),