txt: ## undeclared.md
  class X::Undeclared
  
  Compilation error due to an undeclared symbol
  
  ```raku
  class X::Undeclared does X::Comp {}
  ```
  
  Thrown when the compiler encounters a symbol that has not been declared, but needs to be.
  
  Example
  
  ```raku
  $x;
  
  ```
  
  results in
  
  ｢text｣ without highlighting
  
  ```
  
  
  ```
  
  ===SORRY!===
  Variable $x is not declared
  
  
  ```
  
  
  ```
  
  # [Methods](#class_X::Undeclared "go to top of document")[§](#Methods "direct link")
  
  ## [method symbol](#class_X::Undeclared "go to top of document")[§](#method_symbol "direct link")
  
  Returns the name of the undeclared symbol
  
  ## [method what](#class_X::Undeclared "go to top of document")[§](#method_what "direct link")
  
  Returns the kind of symbol that was not declared (for example variable, type, routine).
  
  Since The symbol wasn't declared, the compiler sometimes has to guess (or rather disambiguate) what kind of symbol it encounter that wasn't declared. For example if you write
  
  ```raku
  say a;
  
  ```
  
  Then the disambiguation defaults to reporting a missing subroutine, even though declaring a `constant a = 'a'` would also make the error go away.
  