Subtype predicates only exist on inference types, so we can allow them to register opaque types within them. by oli-obk · Pull Request #123979 · rust-lang/rust (original) (raw)
c4rrao pushed a commit to Vudvud/rust that referenced this pull request
Add a fast-path to Debug
ASCII &str
Instead of going through the EscapeDebug
machinery, we can just skip over ASCII chars that don’t need any escaping.
Introduce printable-ASCII fast-path for impl Debug for str
Instead of having a single loop that works on utf-8 char
s,
this splits the implementation into a loop that quickly skips over
printable ASCII, falling back to per-char iteration for other chunks.
Switch to primarily using &str
Surprisingly, benchmarks have shown that using &str
instead of &[u8]
with some unsafe
code is actually faster.
Process a single not-ASCII-printable char
per iteration
This avoids having to collect a non-ASCII-printable run before processing it.
std: simplify key-based thread locals
std: clean up the TLS implementation
Make clamp inline
Run rustfmt on files that need it.
Somehow these files aren't properly formatted. By default x fmt
and x tidy
only check files that have changed against master, so if an
ill-formatted file somehow slips in it can stay that way as long as it
doesn't get modified(?)
I found these when I ran x fmt
explicitly on every .rs
file in the
repo, while working on
rust-lang/compiler-team#750.
Fix the dead link in the bootstrap README
Notify kobzol after changes to opt-dist
Revert "Rollup merge of rust-lang#123979 - oli-obk:define_opaque_types7, r=compiler-errors"
This reverts commit f939d1f, reversing changes made to 183c706.
Add regression tests
Only suppress binop error in favor of semicolon suggestion if we're in an assignment statement
compiler: const_eval/transform/validate.rs -> mir_transform/validate.rs
compiler: unnest rustc_const_eval::check_consts
clippy: unnest check_consts
miri: receive the blessings of validate.rs
Migrate run-make/rustdoc-with-output-dir-option
to rmake.rs
Fix some SIMD intrinsics documentation
Actually just remove the special case altogether
rustdoc-json: Add test for keywords with --document-private-items
tag more stuff with WG-trait-system-refactor
Warn/error on self ctor from outer item in inner item
(Mostly) revert "Account for type param from other item in note_and_explain
"
This mostly reverts commit 7449478.
It also removes an opt_param_at
that really is unnecessary given our
ICE policy for malformed intrinsics.
Update cargo
use posix_memalign on most Unix targets
fix typo
Co-authored-by: Jubilee 46493976+workingjubilee@users.noreply.github.com
Fail relating constants of different types
Use regular type equating instead of a custom query
Bump bootstrap compiler to the latest beta compiler
Remove now outdated comment since we bumped stage0
Stop using the avx512er and avx512pf x86 target features
They are no longer supported by LLVM 19.
Fixes rust-lang#125492
remove proof tree formatter, make em shallow
Don't eagerly monomorphize drop for types that are impossible to instantiate
Better ICE message for unresolved upvars
Structurally resolve before builtin_index in EUV
Add manual Sync impl for ReentrantLockGuard
Fixes: rust-lang#125526