rust/library/coretests/tests
Matthias Krüger 28164f1229
Rollup merge of #136148 - kpreid:type-str, r=joboet
Optionally add type names to `TypeId`s.

This feature is intended to provide expensive but thorough help for developers who have an unexpected `TypeId` value and need to determine what type it actually is. It causes `impl Debug for TypeId` to print the type name in addition to the opaque ID hash, and in order to do so, adds a name field to `TypeId`. The cost of this is the increased size of `TypeId` and the need to store type names in the binary; therefore, it is an optional feature. It does not expose any new public API, only change the `Debug` implementation.

It may be enabled via `cargo -Zbuild-std -Zbuild-std-features=debug_typeid`. (Note that `-Zbuild-std-features` disables default features which you may wish to reenable in addition; see
<https://doc.rust-lang.org/cargo/reference/unstable.html#build-std-features>.)

Example usage and output:

```
fn main() {
    use std::any::{Any, TypeId};
    dbg!(TypeId::of::<usize>(), drop::<usize>.type_id());
}
```

```
TypeId::of::<usize>() = TypeId(0x763d199bccd319899208909ed1a860c6 = usize)
drop::<usize>.type_id() = TypeId(0xe6a34bd13f8c92dd47806da07b8cca9a = core::mem::drop<usize>)
```

Also added feature declarations for the existing `debug_refcell` feature so it is usable from the `rust.std-features` option of `config.toml`.

Related issues:

* #68379
* #61533
2025-02-21 19:01:12 +01:00
..
async_iter Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
ffi Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
fmt Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
hash Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
io Migrate coretests to Rust 2024 2025-02-13 13:10:21 -08:00
iter Rustfmt 2025-02-08 22:12:13 +00:00
net Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
num library: Update rand to 0.9.0 2025-02-13 12:20:55 -08:00
ops Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
panic Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
alloc.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
any.rs Optionally add type names to TypeIds. 2025-02-11 18:42:19 -08:00
array.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
ascii_char.rs Implement Extend<AsciiChar> for String 2025-02-08 16:51:04 -05:00
ascii.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
asserting.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
atomic.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
bool.rs Remove some unnecessary parens in assert! conditions 2025-02-06 22:28:44 +00:00
bstr.rs Actually run the bstr test 2025-01-26 10:45:09 +00:00
cell.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
char.rs add MAX_LEN_UTF8 and MAX_LEN_UTF16 constants 2025-02-16 21:08:38 +08:00
clone.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
cmp.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
const_ptr.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
convert.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
error.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
ffi.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
future.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
intrinsics.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
lazy.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
lib.rs Rollup merge of #134340 - Urgau:stabilize-num_midpoint_signed, r=scottmcm 2025-02-20 14:58:16 -08:00
macros_bootstrap.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
macros.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
manually_drop.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
mem.rs Mark extern blocks as unsafe 2025-02-09 17:11:13 +00:00
nonzero.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
ops.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
option.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
panic.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
pattern.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
pin_macro.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
pin.rs Migrate coretests to Rust 2024 2025-02-13 13:10:21 -08:00
ptr.rs Mark extern blocks as unsafe 2025-02-09 17:11:13 +00:00
result.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
simd.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
slice.rs Rollup merge of #136983 - ehuss:misc-2024-prep, r=tgross35 2025-02-14 14:05:24 -08:00
str_lossy.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
str.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
task.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
time.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
tuple.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
unicode.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00
waker.rs Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00