Update json.rs

Treemap should be BTreeMap
core: Removed a shadowed, unused definition of `debug_assert!`.
Fix a typo
doc: remove repeated info
doc: surround with symbols, like it should
hashmap: Fix the example using derived Hash + Eq

The example derived Hash + Eq on a type that was used as *values* for
a hashmap.. for the example to make sense, we have to use a custom *key*
type.

Write a slightly more involved example, still using Vikings, but this
time as key.

I preferred using String over &str here, since that's the typical usage
and we might want to lead users down that path.
Rename remaining hashmap and hashtable iterators to match naming
conventions.

This is a [breaking-change].
Fix backtrace demangling

Closes #20209
trans: Remove is_lang_item from base::invoke

Removes a FIXME on closed issue #15064. This flag is no
longer needed or used since reflection is gone.
Fix typo in std::thread comments
Prepared most `StrExt` pattern using methods for stabilization
Made iterator-returning methods return newtypes
Adjusted some docs to be forwards compatible with a generic pattern API
Accept `?Sized` as well as `Sized?`

Includes a bit of refactoring to store `?` unbounds as bounds with a modifier, rather than in their own world, in the AST at least.
Update tests to use `?Sized`
Removed the sharding bit from mk/tests.mk

I forgot to do this in my previous PR. This should close #19145 .

	modified:   mk/tests.mk
Map EEXIST to PathAlreadyExists error, closes #20226
Changes to RustDoc
Add a test case for issue 18906

Closes issue #18906
Fixed minor typo in docs for `Result`'s `err` method
Do not resolve labels across function boundary
add new-style Unicode escapes