Both `fail_` and `fail_bounds_check` are platform-dependent and the default implementation in libcore makes it impossible to override those. I can expect fail to be infinite loop or `bkpt` instruction, it must not pull in error strings and chunks of `fmt` that are never doing to be displayed. At least it's reasonable to cfg-guard the implementations, so cross-tool users could build libcore without them.