Module Hax_engine.Thir_simple_types

module View = Concrete_ident_view

Interprets a type as a "simple type". A simple type is a type for which, in a given scope, we can give a non-ambiguous string identifier.

This is useful for naming local impls.

Examples of "simple" types:

  • primitive types (e.g. u8, u16)
  • enums/structs/unions defined in namespace, when:
  1. all their generic arguments are instantiated to a simple type
  • a reference to a simple type
  • a slice to a simple type
  • a tuple of simple types of arity zero (e.g. no ADTs of non-zero arity)