about summary refs log tree commit diff
path: root/tests/rustdoc-js-std/full-path-function.js
diff options
context:
space:
mode:
authorJack Wrenn <jack@wrenn.fyi>2025-04-17 17:58:34 +0000
committerJack Wrenn <jack@wrenn.fyi>2025-04-20 03:06:59 +0000
commit957b5488a5fb3875006c06577d9049177ed971bc (patch)
tree71f4bde6f53fcf4bdf406073cc4247a7494fbb2a /tests/rustdoc-js-std/full-path-function.js
parent883f9f72e87ccb6838d528d8158ea6323baacc65 (diff)
downloadrust-957b5488a5fb3875006c06577d9049177ed971bc.tar.gz
rust-957b5488a5fb3875006c06577d9049177ed971bc.zip
transmutability: remove NFA intermediate representation
Prior to this commit, the transmutability analysis used an intermediate
NFA representation of type layout. We then determinized this
representation into a DFA, upon which we ran the core transmutability
analysis. Unfortunately, determinizing NFAs is expensive. In this
commit, we avoid NFAs entirely by observing that Rust `union`s are the
only source of nondeterminism and that it is comparatively cheap to
compute the DFA union of DFAs.

We also implement Graphviz DOT debug formatting of DFAs.

Fixes rust-lang/project-safe-transmute#23
Fixes rust-lang/project-safe-transmute#24
Diffstat (limited to 'tests/rustdoc-js-std/full-path-function.js')
0 files changed, 0 insertions, 0 deletions