   # Type declaration
   {
     'comment': 'Type declaration'
-    'begin': '\\b(enum|struct|trait)\\s+([a-zA-Z_][a-zA-Z0-9_]*)'
+    'begin': '\\b(enum|struct|trait)\\s+([\\p{Alpha}_][\\w]*)'
     'end': '(?=[\\{\\(;])'
     'beginCaptures': {
       '1': { 'name': 'storage.type.rust' }

  'sigils': {
    'comment': 'Sigil'
    'name': 'keyword.operator.sigil.rust'
    'match': '[&*](?=[a-zA-Z0-9_\\(\\[\\|\\"]+)'
  }
  'self': {
    'comment': 'Self variable'

  # Type alias
  {
    'comment': 'Type alias'
    'begin': '\\b(type)\\s+([\\p{Alpha}_][\\w]*)'
    'end': '(?=;)'
    'beginCaptures': {
      '1': { 'name': 'storage.type.rust' }
