diff --git a/grammar.js b/grammar.js index 1907a3a3..47ca711e 100644 --- a/grammar.js +++ b/grammar.js @@ -518,6 +518,7 @@ module.exports = grammar({ ), associated_type: $ => seq( + optional($.visibility_modifier), 'type', field('name', $._type_identifier), field('type_parameters', optional($.type_parameters)), diff --git a/test/corpus/declarations.txt b/test/corpus/declarations.txt index 77195e86..5a3c7530 100644 --- a/test/corpus/declarations.txt +++ b/test/corpus/declarations.txt @@ -2091,6 +2091,24 @@ where (type_identifier))))))) (block))) +================================================================================ +Extern types +================================================================================ + +extern { + pub type Opaque; +} + +-------------------------------------------------------------------------------- + +(source_file + (foreign_mod_item + (extern_modifier) + (declaration_list + (associated_type + (visibility_modifier) + (type_identifier))))) + ================================================================================ Higher-ranked types ================================================================================