Skip to content

Limitations

  • Not published yet, to npm or crates.io. Build it from the repository (see Install).
  • No TypeScript in the Rust engine. TypeScript input needs the TypeScript engine.
  • One record shape per collection. Records must have the same fields in the same order.
  • Element identity isn’t preserved for elements that escape. Viscosity refuses such collections rather than emulating objects.
  • Method calls on the array other than push (map, sort, splice, …) make it refuse.
  • Per-file analysis. Something exported is treated as escaping. Several files can be compiled in one command, but each is analysed on its own.
  • AoSoA must be requested with an annotation. In V8 it rarely beat plain SoA in this project’s measurements.
  • The Python front-end covers a subset of Python and is opt-in (see Python).