- 19 8月, 2018 10 次提交
-
-
由 Matthias Krüger 提交于
-
由 bors 提交于
Use the new Entry::or_default method where possible.
-
由 bors 提交于
`Self` in type definitions (self_in_typedefs) This implements the [`self_in_typedefs` feature](https://github.com/rust-lang/rfcs/blob/master/text/2300-self-in-typedefs.md) ([tracking issue 49303](https://github.com/rust-lang/rust/issues/49303)). r? @EddyB CC @Centril
-
由 Alexander Regueiro 提交于
-
由 Alexander Regueiro 提交于
-
由 Alexander Regueiro 提交于
-
由 Alexander Regueiro 提交于
-
由 Alexander Regueiro 提交于
Currently type definitions include `struct`, `enum`, `union`, `existential type`.
-
由 Eduard-Mihai Burtescu 提交于
-
由 bors 提交于
std: stop backtracing when the frames are full This is a defensive measure to mitigate the infinite unwind loop seen in #53372. That case will still repeatedly unwind `__rust_try`, but now it will at least stop when `cx.frames` is full. r? @alexcrichton
-
- 18 8月, 2018 8 次提交
-
-
由 bors 提交于
[NLL] Returns are interesting for free regions Based on #53088 - creating now to get feedback. Closes #51175 * Make assigning to the return type interesting. * Use "returning this value" instead of "return" in error messages. * Prefer one of the explanations that we have a name for to a generic interesting cause in some cases. * Treat causes that involve the destination of a call like assignments.
-
由 bors 提交于
Non-naive implementation of `VecDeque.append` Replaces the old, simple implementation with a more manual (and **unsafe**
😱 ) one. I've added 1 more test and verified that it covers all 6 code paths in the function. This new implementation was about 60% faster than the old naive one when I tried benchmarking it. -
由 bors 提交于
Set more llvm function attributes for __rust_try This shim is generated elsewhere in the compiler so this commit adds support to ensure it goes through similar paths as the rest of the compiler to set llvm function attributes like target features. cc #53372
-
由 bors 提交于
Auto merge of #53369 - pnkfelix:partial-53351-make-some-ported-compile-fail-tests-more-robust-wrt-nll, r=davidtwco Make some ported cfail tests robust w.r.t. NLL Updated the most glaring instances of weak tests w.r.t. NLL that came from #53196. See also the bulletpoint list on #53351.
-
由 bors 提交于
Preliminary work for incremental ThinLTO (CGU name edition) Bring back the first half of #52266 but hopefully without the performance regression.
-
由 bors 提交于
Stabilize `use_extern_macros` Closes https://github.com/rust-lang/rust/issues/35896
-
由 bors 提交于
Rollup of 11 pull requests Successful merges: - #52858 (Implement Iterator::size_hint for Elaborator.) - #53321 (Fix usage of `wasm_target_feature`) - #53326 ([nll] add regression test for issue #27868) - #53347 (rustc_resolve: don't allow paths starting with `::crate`.) - #53349 ([nll] add tests for #48697 and #30104) - #53357 (Pretty print btreemap for GDB) - #53358 (`{to,from}_{ne,le,be}_bytes` for unsigned integer types) - #53406 (Do not suggest conversion method that is already there) - #53407 (make more ported compile fail tests more robust w.r.t. NLL) - #53413 (Warn that `#![feature(rust_2018_preview)]` is implied when the edition is set to Rust 2018.) - #53434 (wasm: Remove --strip-debug argument to LLD) Failed merges: r? @ghost
- 17 8月, 2018 22 次提交
-
-
由 Corey Farwell 提交于
wasm: Remove --strip-debug argument to LLD Originally added in #52887 this commit disables passing `--strip-debug` to LLD when optimized. This bring back the original bug of emitting broken debuginfo but currently it *also* strips the `name` section which makes it very difficult to inspect the final binary. A real fix is happening at https://reviews.llvm.org/D50729 and we can reevaluate once we've updated LLD to have that commit.
-
由 Corey Farwell 提交于
Warn that `#![feature(rust_2018_preview)]` is implied when the edition is set to Rust 2018. cc @varkor @petrochenkov @joshtriplett
-
由 Corey Farwell 提交于
Rollup merge of #53407 - pnkfelix:partial-53351-make-more-ported-compile-fail-tests-more-robust-wrt-nll, r=nikomatsakis make more ported compile fail tests more robust w.r.t. NLL This is similar to PR #53369, except it covers a disjoint (and much smaller) set of tests that I needed to look at more carefully before being 100% certain they were the same kind of issue.
-
由 Corey Farwell 提交于
Do not suggest conversion method that is already there Fix #53348.
-
由 Corey Farwell 提交于
`{to,from}_{ne,le,be}_bytes` for unsigned integer types Same as https://github.com/rust-lang/rust/pull/51919 did for signed integers. Tracking issue: https://github.com/rust-lang/rust/issues/52963
-
由 Corey Farwell 提交于
Pretty print btreemap for GDB Merge #53112 first, please.
-
由 Corey Farwell 提交于
[nll] add tests for #48697 and #30104 Adds tests for the following issues: - #48697 ``[NLL] ICE: unexpected region for local data with reference to closure`` - #30104 ``Destructuring boxes into multiple mutable references seems broken`` r? @nikomatsakis
-
由 Corey Farwell 提交于
rustc_resolve: don't allow paths starting with `::crate`. cc @aturon @joshtriplett r? @petrochenkov
-
由 Corey Farwell 提交于
[nll] add regression test for issue #27868 Adds a test for #27868 ``Inconsistent evaluation order for assignment operations`` apart of #47366 ``tracking issue for bugs fixed by the MIR borrow checker or NLL`` r? @nikomatsakis
-
由 Corey Farwell 提交于
Fix usage of `wasm_target_feature` Currently usage results in: ``` error: internal compiler error: librustc_typeck/collect.rs:1928: unknown target feature gate wasm_target_feature thread 'main' panicked at 'Box<Any>', librustc_errors/lib.rs:579:9 note: Run with `RUST_BACKTRACE=1` for a backtrace. error: aborting due to previous error note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.30.0-nightly (d5a448b3 2018-08-13) running on x86_64-unknown-linux-gnu note: compiler flags: -C debuginfo=2 -C linker=/tmp/lld-shim -C incremental --crate-type lib note: some of the compiler flags provided by cargo are hidden error: Could not compile `coresimd`. To learn more, run the command again with --verbose. ``` and hopefully this should fix the ICE!
-
由 Corey Farwell 提交于
Implement Iterator::size_hint for Elaborator. None
-
由 bors 提交于
unions are not always trivially dropable Fixes #52786 r? @nikomatsakis
-
由 Simon Sapin 提交于
-
由 bors 提交于
Add crate build test for `thumb*` targets. [IRR-2018-embedded] ## Summary This PR adds `run-make` test that compiles `cortex-m` crate for all supported `thumb*-none-*` targets using `cargo` and stage2 `rustc`. - Supported `thumb*-none-*` targets: - thumbv6m-none-eabi (Bare Cortex-M0, M0+, M1) - thumbv7em-none-eabi (Bare Cortex-M4, M7) - thumbv7em-none-eabihf (Bare Cortex-M4F, M7F, FPU, hardfloat) - thumbv7m-none-eabi (Bare Cortex-M3) ## How to run & Example output I tested locally and all targets succeeded like below: ``` ./x.py clean ./x.py test --target thumbv6m-none-eabi,thumbv7em-none-eabi,thumbv7em-none-eabihf,thumbv7m-none-eabi src/test/run-make ``` ``` Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> thumbv6m-none-eabi) running 5 tests ..... test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out ``` ## How to re-run Remove `stamp` file for the test run. ``` rm build/x86_64-unknown-linux-gnu/test/run-make/thumb-none-cortex-m/stamp ``` Then run `test` ``` ./x.py test --target thumbv6m-none-eabi,thumbv7em-none-eabi,thumbv7em-none-eabihf,thumbv7m-none-eabi src/test/run-make (snip) running 5 tests iiii. test result: ok. 1 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out ``` ## Artifacts You can examine the artifacts under the directory below: ``` sekineh@sekineh-VirtualBox:~/rustme10$ ls -l build/x86_64-unknown-linux-gnu/test/run-make/thumb-none-cortex-m/thumb-none-cortex-m/ total 4 drwxrwxr-x 7 sekineh sekineh 4096 8月 14 22:40 cortex-m ``` where `build/x86_64-unknown-linux-gnu/test/run-make/thumb-none-cortex-m/thumb-none-cortex-m/` is came from TMPDIR variable. ## Other notes For `test.rs` modification, I used the same logic as: - https://github.com/rust-lang/rust/blame/d8b3c830fbcdd14d085209a8dcc3399151f3286a/src/bootstrap/dist.rs#L652-L657 ``` if builder.no_std(target) == Some(true) { // the `test` doesn't compile for no-std targets builder.ensure(compile::Std { compiler, target }); } else { builder.ensure(compile::Test { compiler, target }); } ``` It is a useful snippet when adding `no_std` support to `src/bootstrap` code. CC @kennytm @jamesmunns @nerdyvaishali
-
由 Vadim Petrochenkov 提交于
compile-fail-fulldeps/proc-macro/proc-macro-attributes.rs - resolution change for derive helper attributes with the same name as derive itself run-pass/macro-comma-support.rs - indeterminate resolutions for macros in expression positions ui/issues/issue-49074.rs - diagnostics regression, not enough recovery to report the second error ui/object-lifetime/object-lifetime-default.stderr - unstable diagnostics?
-
由 Vadim Petrochenkov 提交于
-
由 Eduard-Mihai Burtescu 提交于
-
由 bors 提交于
Speed up NLL with HybridIdxSetBuf. It's a sparse-when-small but dense-when-large index set that is very efficient for sets that (a) have few elements, (b) have large universe_size values, and (c) are cleared frequently. Which makes it perfect for the `gen_set` and `kill_set` sets used by the new borrow checker. This patch reduces `tuple-stress`'s NLL-check time by 40%, and up to 12% for several other benchmarks. And it halves the max-rss for `keccak`, and has smaller wins for `inflate` and `clap-rs`.
-
由 Ralf Jung 提交于
-
由 Corey Farwell 提交于
-
由 bors 提交于
rustc_resolve: overhaul `#![feature(uniform_paths)]` error reporting. Fixes #53408 by only considering external crates to conflict within their (type/module) namespace, *not* with the value or macro namespaces, and also by adding a special-cased error for redundant `use crate_name;` imports (without actually allowing them). Also, all canaries for a given import are grouped into one diagnostic per namespace, in order to make block-scoped ambiguities clearer. See changed/added tests for more details. r? @petrochenkov cc @aturon @joshtriplett
-
由 Eduard-Mihai Burtescu 提交于
-