Commit Graph

95056 Commits

Author SHA1 Message Date
Christian Poveda
c5c06a5f62 Replace to_bits by force_bits and move size as parameter 2019-06-16 02:33:00 -05:00
Christian Poveda
681bd83828 Change to_ptr by force_ptr 2019-06-16 02:33:00 -05:00
Christian Poveda
3bd1734ea2 Add force_bits and force_ptr methods 2019-06-16 02:33:00 -05:00
bors
374c63e0fc Auto merge of #61886 - Centril:rollup-3p3m2fu, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #61447 (Add some Vec <-> VecDeque documentation)
 - #61704 (Pass LLVM linker flags to librustc_llvm build)
 - #61829 (rustbuild: include llvm-libunwind in dist tarball)
 - #61832 (update miri)
 - #61866 (Remove redundant `clone()`s)
 - #61869 (Cleanup some new active feature gates)

Failed merges:

r? @ghost
2019-06-16 04:46:14 +00:00
Scott McMurray
af0e35e6a6 Help LLVM better optimize slice::Iter(Mut)::len 2019-06-15 21:15:25 -07:00
Mazdak Farrokhzad
cd9bb48f7f
Rollup merge of #61869 - Centril:cleanup-feature-gates, r=alexreg
Cleanup some new active feature gates

r? @alexreg
2019-06-16 06:05:19 +02:00
Mazdak Farrokhzad
2ba1d94f7a
Rollup merge of #61866 - sinkuu:redundant_clone, r=petrochenkov
Remove redundant `clone()`s
2019-06-16 06:05:18 +02:00
Mazdak Farrokhzad
af56111651
Rollup merge of #61832 - RalfJung:miri, r=oli-obk
update miri

Fixes https://github.com/rust-lang/rust/issues/61830
Fixes https://github.com/rust-lang/rust/issues/61848

r? @oli-obk
2019-06-16 06:05:17 +02:00
Mazdak Farrokhzad
4d528197a0
Rollup merge of #61829 - Keruspe:libunwind-src, r=alexcrichton
rustbuild: include llvm-libunwind in dist tarball

Without this we cannot build with llvm-libunwind enabled from a release tarball.

Could it be backported in a beta rollup somehow so that this gets fixed before 1.36 is released?
2019-06-16 06:05:15 +02:00
Mazdak Farrokhzad
7d99652783
Rollup merge of #61704 - petrhosek:llvm-linker-flags, r=alexcrichton
Pass LLVM linker flags to librustc_llvm build

Some -L and -l flags may be needed even when building librustc_llvm,
for example when using static libc++ on Linux we may need to manually
specify the library search path and -ldl -lpthread as additional link
dependencies. We pass LLVM linker flags from config to librustc_llvm
build to make sure these cases are handled.
2019-06-16 06:05:14 +02:00
Mazdak Farrokhzad
006440a7fe
Rollup merge of #61447 - scottmcm:vec-vecdeque, r=sfackler
Add some Vec <-> VecDeque documentation

These are more than just `.into_iter().collect()`, so talk about some of their nuances.

For VecDeque -> Vec I'm trying to intentionally not write a guarantee for people making their own `Vec`s, since the rules are more complicated than I think we want to commit to forever.

The "Vec -> VecDeque doesn't reallocate" guarantee seems reasonable, though.  (And I'm intentionally ambiguous about when it's O(1) instead of O(n).)
2019-06-16 06:05:12 +02:00
John Paul Adrian Glaubitz
3fa7411050 librustc_codegen_llvm: Use repr(transparent) for bitflags over repr(C) (#61306)
In order to make sure that Rust's bitflags types are passed the same
way in the Rust ABI as they are in the C ABI, we need to use the attribute
repr(transparent) over the repr(C) attribute for the single-field bitflags
structs in in order to prevent ABI mismatches. Thanks to Michael Karcher
for finding this bug.
2019-06-16 02:53:33 +02:00
bors
0dc9e9c10c Auto merge of #61828 - RalfJung:cfg-if, r=alexcrichton
make sure we use cfg-if as a std dependency

xargo currently fails to build libstd because this feature is missing. My guess is that it works in rustc because the feature is enabled elsewhere, but that does not help for a libstd-only build.

Miri is currently in a state where it is shipped but broken, which makes CI fail for projects that are tested in Miri. So this is kind of urgent.

Cc @alexcrichton  https://github.com/rust-lang/rust/pull/61720
2019-06-15 21:15:28 +00:00
bors
bb16e72954 Auto merge of #61868 - Centril:rollup-gglsecp, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #61785 (note some safety concerns of raw-ptr-to-ref casts)
 - #61805 (typeck: Fix ICE for blocks in repeat expr count.)
 - #61813 (Remove some unnecessary symbol interner ops)
 - #61824 (in which we decline to lint single-use lifetimes in `derive`d impls)
 - #61844 (Change `...` to `..=` where applicable)
 - #61854 (Minor cosmetic improvements to accompany PR 61825)

Failed merges:

r? @ghost
2019-06-15 18:24:18 +00:00
Mazdak Farrokhzad
281d787f6b cleanup some new active feature gates. 2019-06-15 19:00:49 +02:00
Mazdak Farrokhzad
ab2d2f90c4
Rollup merge of #61854 - alexreg:fix-type-alias-enum-patterns, r=Centril
Minor cosmetic improvements to accompany PR 61825

r? @Centril
2019-06-15 17:45:07 +02:00
Mazdak Farrokhzad
145abd88ca
Rollup merge of #61844 - AaronKutch:master, r=Centril
Change `...` to `..=` where applicable

This is mainly to fix #61816, but I decided to manually check a few thousand `...` throughout the code base to check for any other cases. I think I found a documentation bug in `src\libsyntax\ast.rs` where both `1..` and `1...` where mentioned. If there is internal support for both `1..` and `1..=` (that can exist before error handling gets to it), then I can add that back.
There were some other cases that look like `// struct Closure<'l0...'li, T0...Tj, CK, CS, U0...Uk> {`, `// <P0 as Trait<P1...Pn>>::Foo: 'a`, and `assert!(min <= max, "discriminant range is {}...{}", min, max);`, but I am not sure if I should change those.
There are a bunch of cases in the `/test/` directory that could be changed, but I presume I should just leave those be.
2019-06-15 17:45:06 +02:00
Mazdak Farrokhzad
eb188f1317
Rollup merge of #61824 - rust-lang:single_derive, r=eddyb
in which we decline to lint single-use lifetimes in `derive`d impls

Resolves #53738.

r? @eddyb
2019-06-15 17:45:04 +02:00
Mazdak Farrokhzad
be09427b11
Rollup merge of #61813 - matthewjasper:remove-unnecessary-symbol-ops, r=petrochenkov
Remove some unnecessary symbol interner ops

* Don't gensym symbols that don't need to worry about colliding with other symbols
* Use symbol constants instead of interning string literals in a few places.
* Don't generate a module in `__register_diagnostic`

r? @petrochenkov
2019-06-15 17:45:02 +02:00
Mazdak Farrokhzad
9e810a2775
Rollup merge of #61805 - davidtwco:ice-const-generic-repeat-expr-count-sequel, r=varkor
typeck: Fix ICE for blocks in repeat expr count.

Fixes #61336 (again). This PR fixes an ICE that occured when a block expression resolving to a const generic was used for the count of an array repeat expression.

r? @varkor
2019-06-15 17:45:01 +02:00
Mazdak Farrokhzad
1b95e029f9
Rollup merge of #61785 - RalfJung:as-ref, r=rkruppe
note some safety concerns of raw-ptr-to-ref casts
2019-06-15 17:44:59 +02:00
bors
9f06855064 Auto merge of #61143 - estebank:issue-61106, r=eddyb
When suggesting borrow, remove useless clones

Fix #61106.
2019-06-15 13:12:13 +00:00
Shotaro Yamada
6a0abd6048 Remove unnecessary .clone() 2019-06-15 20:46:00 +09:00
Shotaro Yamada
165842ba1f Use slice::from_ref instead of cloning 2019-06-15 20:46:00 +09:00
bors
dbebcee8d0 Auto merge of #59752 - Zoxc:dylib-fix, r=alexcrichton
Limit dylib symbols

This makes `windows-gnu` match the behavior of `windows-msvc`. It probably doesn't make sense to export these symbols on other platforms either.
2019-06-15 10:18:09 +00:00
bors
9f8cd9da7b Auto merge of #61825 - Centril:tauv-infer-fix, r=petrochenkov
type_alias_enum_variants: fix #61801; allow a path pattern to infer

Fix #61801.

Given a type-relative path pattern referring to an enum variant through a type alias, allow inferring the generic argument applied in the expectation set by the scrutinee of a `match` expression.

Similar issues may exist for `let` statements but I don't know how to test for that since `PhantomData<T>` is necessary...)

The gist of the problem here was that `resolve_ty_and_res_ufcs` was called twice which is apparently no good... It is possible that this PR is papering over some deeper problem, but that is beyond my knowledge of the compiler.

r? @petrochenkov
cc @eddyb @alexreg
cc https://github.com/rust-lang/rust/pull/61682
cc https://github.com/rust-lang/rust/issues/49683
2019-06-15 03:47:55 +00:00
Mazdak Farrokhzad
5057552dc6 typeck/expr.rs: move check_field + struct helpers here. 2019-06-15 04:01:39 +02:00
Mazdak Farrokhzad
5ee36b7eca typeck/expr.rs: move check_method_call here. 2019-06-15 04:01:39 +02:00
Mazdak Farrokhzad
819c4f2f08 typeck/expr.rs: move some check_return_expr here. 2019-06-15 04:01:39 +02:00
Mazdak Farrokhzad
18edf3ed08 typeck/expr.rs: move some check_expr_*s here. 2019-06-15 04:01:39 +02:00
Mazdak Farrokhzad
a551fe08ef typeck/expr.rs: move check_expr_with_expectation_and_needs here. 2019-06-15 02:51:45 +02:00
Mazdak Farrokhzad
8fd2d12c25 typeck/expr.rs: extract out check_expr_yield. 2019-06-15 02:48:59 +02:00
Mazdak Farrokhzad
8da059beaa typeck/expr.rs: extract out check_expr_index. 2019-06-15 02:46:47 +02:00
Mazdak Farrokhzad
1aa068a01b typeck/expr.rs: move check_expr_struct here. 2019-06-15 02:43:02 +02:00
Mazdak Farrokhzad
bb934880f0 typeck/expr.rs: extract out check_expr_tuple. 2019-06-15 02:39:23 +02:00
Mazdak Farrokhzad
82cac1505c typeck/expr.rs: extract out check_expr_repeat. 2019-06-15 02:36:07 +02:00
Mazdak Farrokhzad
877d834c65 typeck/expr.rs: extract out check_expr_array. 2019-06-15 02:31:20 +02:00
Mazdak Farrokhzad
fe004da37a typeck/expr.rs: extract out check_expr_cast. 2019-06-15 02:25:37 +02:00
Mazdak Farrokhzad
046cd903c5 typeck/expr.rs: extract out check_expr_loop. 2019-06-15 02:22:52 +02:00
Mazdak Farrokhzad
867ff1b00a typeck/expr.rs: extract out check_expr_while. 2019-06-15 02:19:23 +02:00
Mazdak Farrokhzad
af800c7873 typeck/expr.rs: move check_expr_assign here. 2019-06-15 02:13:06 +02:00
Mazdak Farrokhzad
7a41cc1715 typeck/expr.rs: extract out check_expr_return. 2019-06-15 02:10:12 +02:00
Mazdak Farrokhzad
74dd65edfe typeck/expr.rs: extract out check_expr_break. 2019-06-15 02:06:02 +02:00
Mazdak Farrokhzad
9131f95c6f typeck/expr.rs: extract out check_expr_path. 2019-06-15 01:56:10 +02:00
Mazdak Farrokhzad
d5cc080b73 typeck/expr.rs: extract out check_expr_addr_of. 2019-06-15 01:50:33 +02:00
Mazdak Farrokhzad
840f3f64dc typeck/expr.rs: extract out check_expr_unary. 2019-06-15 01:45:39 +02:00
Mazdak Farrokhzad
7227a386a5 typeck/expr.rs: extract out check_expr_box. 2019-06-15 01:36:09 +02:00
Mazdak Farrokhzad
6cf4b3ac10 typeck: check_expr_kind -> expr.rs 2019-06-15 01:28:38 +02:00
Alexander Regueiro
926408cdbd Minor cosmetic improvements to accompany PR 61825 2019-06-14 23:44:55 +01:00
Esteban Küber
f06b76122c review comments: move diagnostic code out of happy path 2019-06-14 13:40:10 -07:00