| Age | Commit message (Collapse) | Author | Lines |
|
rustc_back: use a common musl base
extracted from #33327.
cc #33189.
r? @alexcrichton
|
|
parser: show a helpful note on unexpected inner comment
Fixes: #30318.
|
|
rustdoc: refactor rustdoc syntax highlighting for a more flexible API
Clients can now use the rustdoc syntax highlighter to classify tokens, then use that info to put together there own HTML (or whatever), rather than just having static HTML output.
|
|
parser: fix suppression of syntax errors in range RHS
Invalid expressions on the RHS were just swallowed without generating an error. The new version more closely mirrors the code for parsing `..x` in the `parse_prefix_range_expr` method below, where no cancel is done either.
Fixes #33262.
|
|
[MIR] Temporary hack for 32959
Gets rid of the warning. This is more elegant that I thought it would be, actually.
r? @nikomatsakis
cc #32959
|
|
|
|
For legacy reasons (presumably), Windows does not permit files name aux.
|
|
|
|
|
|
|
|
Instead of finding aux-build files in `auxiliary`, we now search for an
`aux` directory relative to the test. So if your test is
`compile-fail/foo.rs`, we would look in `compile-fail/aux`. Similarly,
we ignore the `aux` directory when searching for tets.
|
|
|
|
Also, promote the for loop iterating over revisions out into the
top-level method, whereas before it was pushed down instead each test's
method. Not entirely clear that this was the right call.
|
|
|
|
|
|
debuginfo: Fix regression in namespace handling for struct types.
Fixes a small regression that has been introduced in recent refactorings.
Fixes #33193
r? @eddyb
|
|
Short-cut `T: Sized` trait selection for ADTs
Basically avoids all nested obligations when checking whether an ADT is sized - this speeds up typeck by ~15%
The refactoring fixed #32963, but I also want to make `Copy` not object-safe (will commit that soon).
Fixes #33201
r? @nikomatsakis
|
|
rand: don't block before random pool is initialized
If we attempt a read with getrandom() on Linux the syscall can block
before the random pool is initialized unless the GRND_NONBLOCK flag is
passed. This flag causes getrandom() to instead return EAGAIN while the
pool is uninitialized. To avoid downstream users of crate or std
functionality that have no ability to avoid this blocking behavior this
change causes Rust to read bytes from /dev/urandom while getrandom()
would block and once getrandom() is available to use that. Fixes #32953.
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
|
|
Panic on overflow in `Duration::new` constructor
Panicking on overflow is also done for `+`, and it replaces the
currently incorrect overflow behavior of wrapping around, which does not
make sense for `Duration`s.
|
|
Distribute both rust-lldb and rust-gdb everywhere
Both debuggers are viable in some capacity on all tier-1 platforms,
and people often ask for rust-lldb on Linux or rust-gdb on OS X.
r? @michaelwoerister
I'm still testing locally, but this *looks* like the right thing to change.
|
|
Both debuggers are viable in some capacity on all tier-1 platforms,
and people often ask for rust-lldb on Linux or rust-gdb on OS X.
|
|
Add `as_mut` methods to the `std::cell` structs
This is safe since the borrow checking ensures that we have the only
mutable reference to the struct, thus we can safely borrow its interior.
|
|
This is safe since the borrow checker ensures that we have the only
mutable reference to the struct, thus we can safely borrow its interior.
Tracking issue is #33444.
|
|
Add `Default` implementation for `&CStr`, `CString`, `Path`
|
|
Add more aliases for Unicode confusable chars
Building upon #29837, this PR:
* added aliases for space characters,
* distinguished square brackets from parens, and
* added common CJK punctuation characters as aliases.
This will especially help CJK users who may have forgotten to switch off IME when coding.
|
|
|
|
Implement negation for wrapping numerals.
Fixes #33037
|
|
mk: Pass CFLAGS for target, not host
This changes the CFLAGS and related variables passed to compiletest to be passed
for the target, not the host, so we can correctly test 32-bit cross compiles on
64-bit host machines.
Hopefuly fixes #33379
|
|
|
|
Clients can now use the rustdoc syntax highlighter to classify tokens, then use that info to put together there own HTML (or whatever), rather than just having static HTML output.
|
|
This changes the CFLAGS and related variables passed to compiletest to be passed
for the target, not the host, so we can correctly test 32-bit cross compiles on
64-bit host machines.
Hopefuly fixes #33379
|
|
|
|
Fixes: #30318.
|
|
|
|
|
|
this commit should be reverted after a release cycle
|
|
|
|
|
|
|
|
This is required, as Copy and Sized are object-unsafe.
As a soundness fix, this is a [breaking-change]
Fixes #32963
|
|
This requirement appears to be missing from RFC1214, but is clearly
necessary for translation. The last field of a tuple/enum remains in
a state of limbo, compiling but causing an ICE when it is used - we
should eventually fix that somehow.
this is a [breaking-change] - a soundness fix - and requires a
crater run.
|
|
|
|
|
|
Put a constraint type on every ADT def, such that the ADT def is sized iff the constraint
type is, and use that in selection. This ignores types that are obviously sized.
This improves typeck performance by ~15%.
|
|
rustdoc: HTML-escape Rust code (from constants)
Especially in cases like the one in the test file, this can blow up the rendering big time if string constants in the code contain HTML.
But also other constants can contain special chars (e.g. `&` as an operator in constant expressions).
|
|
rustdoc: fix inserting source code spans for constant values
This will go wrong when the constants partially result from macro expansion.
Instead, use the expressions and pretty-print them as Rust code.
Fixes: #33302
|
|
libcore: Inline `mem::forget()`.
Was causing severe performance problems in WebRender.
r? @brson
|
|
parser: change warning into an error on `T<A=B, C>`
part of #32214
This seems to be the obvious fix, and the error message is consistent with all the other parser errors ("expected x, found y").
|
|
resolve: print location of static for "static in pattern" error
The implementation mirrors the one for "constant defined here" annotation used for constant patterns in the irrefutable-pattern case.
Fixes: #23716
|
|
fix various const eval errors
These were found after const_evaluating arbitrary expressions and linting if the const evaluator failed
fixes #33275 (int -> float casts for negative ints)
fixes #33291 (int -> char casts (new! wasn't allowed in constants until this PR))
r? @eddyb
cc @bluss @japaric
|