| Age | Commit message (Collapse) | Author | Lines |
|
|
|
remove directory libstd/sys/vxworks/backtrace which is not used any more
r? @alexcrichton
cc @n-salim
|
|
`improper_ctypes`: guard against accidental change to `Unique<T>`
r? @eddyb
|
|
Update rustfmt to 1.4.6
This PR updates rustfmt to 1.4.6. [CHANGELOG](https://github.com/rust-lang/rustfmt/blob/v1.4.6/CHANGELOG.md#146-2019-08-28).
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #62957 (Match the loop examples)
- #63600 (Merge oli-obk mail addresses)
- #63684 (Constify LinkedList new function)
- #63847 ([rustdoc] Fix system theme detection)
- #63999 (Add missing links on AsRef trait)
- #64014 ( miri: detect too large dynamically sized objects )
- #64015 (some const-eval test tweaks)
Failed merges:
r? @ghost
|
|
some const-eval test tweaks
Best reviewed commit-by-commit.
r? @oli-obk
|
|
miri: detect too large dynamically sized objects
Needed to make https://github.com/rust-lang/miri/pull/929 pass.
r? @oli-obk
|
|
Add missing links on AsRef trait
cc @rust-lang/docs
|
|
[rustdoc] Fix system theme detection
Fixes #63830
The problem is that it returns the property "entirely" (so with the quotes in our case). Removing them fixes the issue.
cc @fenhl
r? @kinnison
|
|
Constify LinkedList new function
Change the `LinkedList::new()` function to become a const fn, allowing the use in constant context.
|
|
Match the loop examples
The idea is to show the usefulness of the expression side by side.
|
|
|
|
When accessing private field of union, do not misidentify it as a struct
Fix incorrect error message when accessing private field of union.
Fixes #63976.
|
|
Update Clippy
cc rust-lang/rust-clippy#4475
r? @oli-obk
|
|
|
|
r=Mark-Simulacrum
Run doctests via out-of-process rustc
closes #63638
|
|
|
|
|
|
|
|
|
|
|
|
Strip code to the left and right in diagnostics for long lines
Fix #62999.
|
|
|
|
|
|
|
|
Add a "diagnostic item" scheme for lints referring to libstd items
fixes https://github.com/rust-lang/rust/issues/39131
r? @Manishearth @rust-lang/wg-diagnostics
|
|
|
|
This allows lints and other diagnostics to refer to items
by a unique ID instead of relying on whacky path
resolution schemes that may break when items are
relocated.
|
|
|
|
|
|
|
|
Update Clippy
cc rust-lang/rust-clippy#4462
r? @oli-obk @Manishearth
|
|
std: Remove the `wasm_syscall` feature
This commit removes the `wasm_syscall` feature from the
wasm32-unknown-unknown build of the standard library. This feature was
originally intended to allow an opt-in way to interact with the
operating system in a posix-like way but it was never stabilized.
Nowadays with the advent of the `wasm32-wasi` target that should
entirely replace the intentions of the `wasm_syscall` feature.
|
|
rustc: Handle modules in "fat" LTO more robustly
When performing a "fat" LTO the compiler has a whole mess of codegen
units that it links together. To do this it needs to select one module
as a "base" module and then link everything else into this module.
Previously LTO passes assume that there's at least one module in-memory
to link into, but nowadays that's not always true! With incremental
compilation modules may actually largely be cached and it may be
possible that there's no in-memory modules to work with.
This commit updates the logic of the LTO backend to handle modules a bit
more uniformly during a fat LTO. This commit immediately splits them
into two lists, one serialized and one in-memory. The in-memory list is
then searched for the largest module and failing that we simply
deserialize the first serialized module and link into that. This
refactoring avoids juggling three lists, two of which are serialized
modules and one of which is half serialized and half in-memory.
Closes #63349
|
|
bootstrap: allow specifying mirror for bootstrap compiler download.
|
|
Hide trait default methods
Fixes #62499.
However, the question remains: do we want to extend it to this point or not?
r? @QuietMisdreavus
|
|
|
|
Small improvement for Ord implementation of integers
Godbolt link: https://godbolt.org/z/tuTDOg
### Before
**asm**
```asm
example::cmp:
mov eax, dword ptr [rdi]
xor ecx, ecx
cmp eax, dword ptr [rsi]
seta cl
mov eax, 255
cmovae eax, ecx
ret
```
**llvm-mca**
```
Iterations: 100
Instructions: 700
Total Cycles: 217
Total uOps: 1100
Dispatch Width: 6
uOps Per Cycle: 5.07
IPC: 3.23
Block RThroughput: 1.8
```
### After
**asm**
```asm
example::cmp:
mov eax, dword ptr [rdi]
xor ecx, ecx
cmp eax, dword ptr [rsi]
setne cl
mov eax, 255
cmovae eax, ecx
ret
```
**llvm-mca**
```
Iterations: 100
Instructions: 700
Total Cycles: 209
Total uOps: 1000
Dispatch Width: 6
uOps Per Cycle: 4.78
IPC: 3.35
Block RThroughput: 1.7
```
r? @nagisa
|
|
Update rust-installer to limit memory use
See https://github.com/rust-lang/rust-installer/pull/98 -- on a many-core machine, the xz memory for so many threads is more than a 32-bit process can handle. The xz stream is now limited to 8 threads.
r? @alexcrichton
|
|
Fix build src/libtest
Fixes #63928
r? @Mark-Simulacrum
|
|
rustbuild: allow disabling deny(warnings) for bootstrap
When deny-warnings is not specified or set to true, the behaviour is the same as before.
When deny-warnings is set to false, warnings are now allowed
Fixes #63911
|
|
ty: use Align for ReprOptions pack and align.
|
|
Validation: check raw wide pointer metadata
While I was at it, I also added a missing check for slices not to be too big.
r? @oli-obk
Fixes https://github.com/rust-lang/miri/issues/918
|
|
resolve: Block expansion of a derive container until all its derives are resolved
So, it turns out there's one more reason to block expansion of a `#[derive]` container until all the derives inside it are resolved, beside `Copy` (https://github.com/rust-lang/rust/pull/63248).
The set of derive helper attributes registered by derives in the container also has to be known before the derives themselves are expanded, otherwise it may be too late (see https://github.com/rust-lang/rust/pull/63468#issuecomment-524550872 and the `#[stable_hasher]`-related test failures in https://github.com/rust-lang/rust/pull/63468).
So, we stop our attempts to unblock the container earlier, as soon as the `Copy` status is known, and just block until all its derives are resolved.
After all the derives are resolved we immediately go and process their helper attributes in the item, without delaying it until expansion of the individual derives.
Unblocks https://github.com/rust-lang/rust/pull/63468
r? @matthewjasper (as a reviewer of https://github.com/rust-lang/rust/pull/63248)
cc @c410-f3r
|
|
Rollup of 11 pull requests
Successful merges:
- #63811 (Correctly suggest adding bounds to `impl Trait` argument)
- #63933 (Resolve some small issues related to #63580)
- #63938 (or-pattern: fix typo in error message)
- #63945 (Recover `mut $pat` and other improvements)
- #63958 (const_prop: only call error_to_const_error if we are actually showing something)
- #63961 (Add Option<Span> to `require_lang_item`)
- #63963 (remove the reference to __cxa_thread_atexit_impl)
- #63965 (Prevent syntax error in LD linker version script)
- #63968 (rustc_apfloat: make the crate #![no_std] explicitly.)
- #63970 (Notify me (flip1995) when Clippy toolstate changes)
- #63980 (add missing `#[repr(C)]` on the Slices union)
Failed merges:
- #63989 (Add Yaah to clippy toolstain notification list)
r? @ghost
|
|
|
|
add missing `#[repr(C)]` on the Slices union
Adds the `#[repr(C)]` attribute to the `Slices` union used to convert an `&str` into a `&[u8]`.
Without the attribute, the union has an unspecified layout: https://doc.rust-lang.org/reference/types/union.html, so performing the 'transmute' is unsound without the attribute (as far as I understand).
The `Repr` union, used for converting a raw ptr + len to a slice has this attribute as well:
https://github.com/rust-lang/rust/blob/master/src/libcore/ptr/mod.rs#L211-#L216
|
|
Notify me (flip1995) when Clippy toolstate changes
I want in on the fun :tada:
Also friendly ping @llogiq @mcarton: Since you two aren't _that_ active on the Clippy repo anymore, do you still want to get pinged on Clippy toolstate changes?
r? @oli-obk
|
|
rustc_apfloat: make the crate #![no_std] explicitly.
We only need allocation, and even that could be made optional.
|