Commit Graph

94372 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
1ae4727f3f
Rollup merge of #61420 - felixrabe:patch-2, r=dtolnay
Succinctify splice docs
2019-06-04 04:48:16 +02:00
Mazdak Farrokhzad
5d1d2992ef
Rollup merge of #61419 - scottmcm:casing-is-on-strings, r=cramertj
Add an unusual-conversion example to to_uppercase

Like how to_lowercase has ὈΔΥΣΣΕΎΣ.
2019-06-04 04:48:13 +02:00
Mazdak Farrokhzad
3a06a93f59
Rollup merge of #61413 - davidtwco:async-argument-order-in-a-sane-way, r=eddyb
Re-implement async fn drop order lowering

This PR re-implements the async fn drop order lowering changes so
that it all takes place in HIR lowering, building atop the work done by
@eddyb to refactor `Res::Upvar`.

Previously, this types involved in the lowering were constructed in
libsyntax as they had to be used during name resolution and HIR
lowering. This was awful because none of that logic should have existed
in libsyntax.

This commit also changes `ArgSource` to keep a `HirId` to the original
argument pattern rather than a cloned copy of the pattern.

Only b7aa4ed and 71fb8fa should be reviewed, any other commits
are from #61276 (though 447e336 might end up staying in this PR).

As a nice side effect, it also fixes #61187 (cc #61192).

r? @eddyb
cc @cramertj
2019-06-04 04:48:11 +02:00
Mazdak Farrokhzad
1563514196
Rollup merge of #61409 - varkor:condition-trait-param-ice, r=oli-obk
Fix an ICE with a const argument in a trait

This goes some way towards fixing https://github.com/rust-lang/rust/issues/61383 (the reduced test case is fixed).
2019-06-04 04:48:08 +02:00
Mazdak Farrokhzad
fb4652e85f
Rollup merge of #61404 - RalfJung:miri-unsize, r=oli-obk
miri unsizing: fix projecting into a field of an operand

I don't know why this open-coded an operand field projection. Probably this code predates one or more of my refactorings.

Fixes https://github.com/rust-lang/miri/issues/754

r? @oli-obk
2019-06-04 04:48:06 +02:00
Mazdak Farrokhzad
45cdc6d578
Rollup merge of #61135 - czipperz:rc-make_mut-weak-doc, r=Mark-Simulacrum
Fix documentation of `Rc::make_mut` regarding `rc::Weak`.

Closes #60961
2019-06-04 04:48:03 +02:00
bors
dc7c4aa804 Auto merge of #61467 - Manishearth:clippyup, r=Manishearth
Update clippy

r? @ghost
2019-06-04 02:42:13 +00:00
Esteban Küber
5716e26232 Add regression test 2019-06-03 18:39:17 -07:00
Manish Goregaokar
8704947ad2 Update clippy 2019-06-03 16:00:38 -07:00
bors
e22b7a3eef Auto merge of #59148 - lcnr:unchecked_maths, r=eddyb
add support for unchecked math

add compiler support for
```rust
/// Returns the result of an unchecked addition, resulting in
/// undefined behavior when `x + y > T::max_value()` or `x + y < T::min_value()`.
pub fn unchecked_add<T>(x: T, y: T) -> T;

/// Returns the result of an unchecked substraction, resulting in
/// undefined behavior when `x - y > T::max_value()` or `x - y < T::min_value()`.
pub fn unchecked_sub<T>(x: T, y: T) -> T;

/// Returns the result of an unchecked multiplication, resulting in
/// undefined behavior when `x * y > T::max_value()` or `x * y < T::min_value()`.
pub fn unchecked_mul<T>(x: T, y: T) -> T;
```

cc https://github.com/rust-lang/rfcs/issues/2508
2019-06-03 22:05:55 +00:00
lcnr/Bastian Kauschke
d7e0834c5f add ui tests for unchecked math 2019-06-03 21:30:25 +02:00
bors
6ffb8f53ee Auto merge of #61100 - varkor:must_use-tuple-expr, r=cramertj
Apply #[must_use] lint to components of tuples

Fixes https://github.com/rust-lang/rust/issues/61061.
2019-06-03 19:12:17 +00:00
Esteban Küber
288202ec29 Fix regression #61475 2019-06-03 12:06:49 -07:00
Mark Rousskov
5ce3c8137b Treat 0 as special value for codegen-units-std
Fixes #57669
2019-06-03 12:57:29 -06:00
varkor
1c6dce8b6d Add ui/impl-trait/issues folder 2019-06-03 19:57:13 +01:00
TankhouseAle
70aeb2233f
Re-add needed Immediate dependency 2019-06-03 14:55:36 -04:00
varkor
41dd21a9bc Add a regression test for #53457 2019-06-03 19:54:28 +01:00
TankhouseAle
e2843b792a
Re-add type_name.rs changes 2019-06-03 14:40:08 -04:00
TankhouseAle
99f66f4045
Re-add intrinsics.rs changes 2019-06-03 14:38:39 -04:00
TankhouseAle
f53ac185ac
Re-add test file 2019-06-03 14:36:22 -04:00
Mark Rousskov
242056cadf Do not panic in tidy on unbalanced parentheses in cfg's 2019-06-03 11:53:09 -06:00
varkor
de2bf3a761 Add nested must_use variant 2019-06-03 18:50:32 +01:00
varkor
81fa794af9 Specify tuple element in lint message 2019-06-03 18:19:29 +01:00
varkor
058551c4fd Add function call to test 2019-06-03 18:19:29 +01:00
varkor
3c768ade4d Fix issue with recursively encountering uninhabited type 2019-06-03 18:19:29 +01:00
varkor
e121d9671a Use precise span for must_use tuple components 2019-06-03 18:19:29 +01:00
varkor
fd36b5fd52 Add test for #[must_use] in tuples 2019-06-03 18:19:29 +01:00
varkor
bbac81a0f1 Warn for #[must_use] in tuples 2019-06-03 18:19:29 +01:00
Alex Crichton
b87bad7e36 ci: Reenable step timings on AppVeyor
This was accidentally regressed in #60777 by accident, and we've stopped
printing out step timings on AppVeyor recently reducing the ability for
us to track build times over time!
2019-06-03 07:50:03 -07:00
Matthew Jasper
794239d9a4 Don't canonicalize 'static in normalize 2019-06-03 15:04:40 +01:00
bors
61d286e9d0 Auto merge of #59033 - GuillaumeGomez:duplicated-bounds, r=Dylan-DPC
Fix duplicated bounds printing in rustdoc

Fixes #56331.

Once again, I couldn't find out how to reproduce it with a small code so no test... :-/

r? @QuietMisdreavus
2019-06-03 14:02:15 +00:00
Matthew Jasper
8ffa408059 Update tests for changes to cannot move errors 2019-06-03 14:55:29 +01:00
Matthew Jasper
9336b3d3d0 Use UseSpans in cannot move errors 2019-06-03 14:55:29 +01:00
Matthew Jasper
f7e86a5a49 Improve cannot move errors
* Show the place and type being moved
* Give a special error for variables in match guard
* Simplify search for overloaded deref
* Search for overloaded index
2019-06-03 14:55:29 +01:00
David Wood
2bb92aa02f
rustc: remove ArgSource
`ArgSource` is no longer used anywhere, so it can be removed.
2019-06-03 14:02:21 +01:00
David Wood
3c7e0eb547
rustc: construct statement vector directly
This commit simplifies the previous logic to construct the statement
vector directly rather than constructing a `Vec` of
`(hir::Stmt, Option<hir::Stmt>)` first.
2019-06-03 14:02:21 +01:00
David Wood
3ebe9ab5e7
rustc: use lowering helpers
This commit changes the lowering to stop creating HIR statements,
expressions and patterns directly and instead uses the pre-existing
helper functions.
2019-06-03 14:02:21 +01:00
David Wood
5e3b41e0cb
rustc: remove HirId from ArgSource::AsyncFn
This commit removes the `HirId` from `ArgSource::AsyncFn`, relying on
the fact that only `simple_ident` is used in each of the locations that
previously took the original pattern from the `ArgSource::AsyncFn`.
2019-06-03 14:02:21 +01:00
Matthew Jasper
2751b867a7 Don't try to lower ReEmpty in NLL 2019-06-03 13:46:38 +01:00
Matthew Jasper
f309f917c2 Add method to note types don't implement Copy 2019-06-03 12:59:08 +01:00
Matthew Jasper
5cfa70f760 Add is_ref_for_guard method 2019-06-03 12:59:08 +01:00
bors
7096ff0ce1 Auto merge of #57214 - Zoxc:no-local-interners, r=eddyb
Store CtxtInterners for local values in AllArenas

r? @eddyb
2019-06-03 11:10:45 +00:00
lcnr/Bastian Kauschke
8a25fdb409 add codegen test for unchecked math 2019-06-03 13:00:44 +02:00
lcnr/Bastian Kauschke
4e7319cd3f add unchecked math intrinsics 2019-06-03 12:59:48 +02:00
lcnr/Bastian Kauschke
d6266a7666 add support for unchecked math 2019-06-03 12:59:17 +02:00
Pietro Albini
80df64b7d4
ci: retry s3 upload on azure if it fails 2019-06-03 11:54:36 +02:00
David Wood
1e5f496143
rustc: async fn drop order lowering in HIR
This commit re-implements the async fn drop order lowering changes so
that it all takes place in HIR lowering, building atop the work done by
`@eddyb` to refactor `Res::Upvar`.

Previously, this types involved in the lowering were constructed in
libsyntax as they had to be used during name resolution and HIR
lowering. This was awful because none of that logic should have existed
in libsyntax.

This commit also changes `ArgSource` to keep a `HirId` to the original
argument pattern rather than a cloned copy of the pattern.
2019-06-03 10:20:35 +01:00
David Wood
32771071e8
syntax/rustc: move mark_span_with_reason back. 2019-06-03 10:20:35 +01:00
Eduard-Mihai Burtescu
d0c78dd7aa
syntax: revert ast::AsyncArgument and associated changes.
Here follows the main reverts applied in order to make this commit:

Revert "Rollup merge of #60676 - davidtwco:issue-60674, r=cramertj"

This reverts commit 45b09453db, reversing
changes made to f6df1f6c30.

Revert "Rollup merge of #60437 - davidtwco:issue-60236, r=nikomatsakis"

This reverts commit 16939a50ea, reversing
changes made to 12bf981552.

Revert "Rollup merge of #59823 - davidtwco:issue-54716, r=cramertj"

This reverts commit 62d1574876, reversing
changes made to 4eff8526a7.
2019-06-03 10:20:35 +01:00
varkor
2b27c6235b Allow true and false in const generic arguments 2019-06-03 09:59:45 +01:00