Module flux_middle::fhir

source ·
Expand description

Flux High-Level Intermediate Representation

The fhir corresponds to the desugared version of source level flux annotations. The main difference with the surface syntax is that the list of refinement parameters is explicit in fhir. For example, the following signature

fn(x: &strg i32[@n]) ensures x: i32[n + 1]

desugars to

for<n: int, l: loc> fn(&strg<l: i32[n]>) ensures l: i32[n + 1].

The name fhir is borrowed (pun intended) from rustc’s hir to refer to something a bit lower than the surface syntax.

Modules§

  • “Lift” HIR types into FHIR types.

Structs§

Enums§

Type Aliases§