We store a stable hash value in the most common interned values (e.g.
types, predicates, regions). This is 16 bytes of data.
- In non-incremental builds it's a straightforward performance loss: the
stable hash isn't computed or used, and the 16 bytes of space goes to
waste (but it still gets hashed when interning).
- In incremental builds it avoids some hashing but doesn't seem to
actually be a genuine performance win, and the complexity doesn't seem
worth it.
So that when we later add support for revisions we can use the same
syntax for revisions as elsewhere.
This also prevents people from making typos for commands since
`src/tools/compiletest/src/directives/directive_names.rs` will catch such
typos now.
Note that we one FIXME for a non-trivial change for later:
```
// FIXME(148097): Change `// cdb-checksimple_closure` to `//@ cdb-check:simple_closure`
```
Disabling loading of pretty printers in the debugger itself is more
reliable. Before this commit the .gdb_debug_scripts section couldn't be
included in dylibs or rlibs as otherwise there is no way to disable the
section anymore without recompiling the entire standard library.