Commit Graph

90301 Commits

Author SHA1 Message Date
Matthew Jasper
87ec3b24f6 Activate two phase borrows on all uses
Two phase borrows are only used for adjustments now, so there's no need
to not activate them for shared borrows.
2019-02-21 19:03:34 +00:00
Matthew Jasper
2c840ae18d Use normal mutable borrows in MIR match lowering 2019-02-21 19:03:34 +00:00
Matthew Jasper
5407fbdef8 Match discriminant -> scrutinee 2019-02-21 19:03:34 +00:00
Matthew Jasper
d51b5cdd82 Clean up MIR match lowering
* Adjust fake borrows to only be live over guards.
* Remove unused `slice_len_checked` field.
* Split the methods on builder into those for matches and those for all
  kinds of pattern bindings.
2019-02-21 19:03:34 +00:00
Matthew Jasper
c15437c0c6 Improve error message and add tests for borrowck match handling 2019-02-21 19:03:33 +00:00
Philipp Hansch
4867a8c4fa
Update miri links
Miri has been moved to `rust-lang` a couple of days ago.
2019-02-21 19:26:45 +01:00
Niko Matsakis
33d3598e3b partially revert 904a0bde93
This preserves the error you currently get on stable for the
old-lub-glb-object.rs test.
2019-02-21 12:50:13 -05:00
bors
633d75ac17 Auto merge of #58584 - ehuss:update-cargo, r=alexcrichton
Update cargo

9 commits in 865cb70106a6b1171a500ff68f93ab52eea56e72..b33ce7fc9092962b0657b4c25354984b5e5c47e4
2019-02-10 15:49:37 +0000 to 2019-02-19 18:42:50 +0000
- Don't retry invalid credentials from git credential helpers (rust-lang/cargo#6681)
- Fix some typos in resolver tests (rust-lang/cargo#6682)
- Add an unstable option to build proc macros for both the host and the target (rust-lang/cargo#6547)
- Test cases proving RUSTC_WRAPPER can be a relative path (rust-lang/cargo#6638)
- Add support for Azure DevOps (rust-lang/cargo#6264)
- Update docs for removed `patch` restriction. (rust-lang/cargo#6663)
- Fix incorrect help message (rust-lang/cargo#6555)
- Stabilize Alternative Registries (rust-lang/cargo#6654)
- Having a [patch] section when publishing is not an error (rust-lang/cargo#6535)
2019-02-21 17:18:53 +00:00
Niko Matsakis
21e9478366 update test files to reflect new output
One surprise: old-lub-glb-object.rs, may indicate a bug
2019-02-21 11:32:17 -05:00
Niko Matsakis
561ce442de restore the actual leak-check 2019-02-21 11:32:17 -05:00
Niko Matsakis
0c94ea0bf1 introduce a dummy leak check and invoke it in all the right places
This set of diffs was produced by combing through
b68fad670b and seeing where the
`leak_check` used to be invoked and how.
2019-02-21 11:32:17 -05:00
Niko Matsakis
2cbe07b5b3 reintroduce commit_if_ok calls to subtype_predicate 2019-02-21 11:32:17 -05:00
Niko Matsakis
6cb4ffbe14 reintroduce commit_if_ok call into higher_ranked_sub 2019-02-21 11:32:17 -05:00
Niko Matsakis
3cd286bac2 s/skol_/placeholder_/ 2019-02-21 11:32:17 -05:00
Stein Somers
09a24545a8 introduce benchmarks of BTreeSet.intersection 2019-02-21 17:26:10 +01:00
Ralf Jung
811af4289c fix link 2019-02-21 17:18:18 +01:00
Ralf Jung
b01f81be74 remark about the one place where place computation calls size_and_align_of 2019-02-21 16:14:31 +01:00
Ralf Jung
32a9614a4e this is for you, tidy 2019-02-21 16:05:49 +01:00
bors
fd42f24b01 Auto merge of #58597 - pietroalbini:appveyor-gce, r=alexcrichton
ci: switch appveyor to gce builders to try debugging the 259 failure

r? @alexcrichton
2019-02-21 14:34:49 +00:00
Ralf Jung
6b88007473 explain unsafe 2019-02-21 15:33:55 +01:00
Ralf Jung
bcc55e5e79 we only list some examples of basic types 2019-02-21 15:31:09 +01:00
Ralf Jung
2db0e0d65c tweaks and fix weird space 2019-02-21 15:30:31 +01:00
Mazdak Farrokhzad
e61a8a94f7
Apply suggestions from code review
Co-Authored-By: RalfJung <post@ralfj.de>
2019-02-21 15:28:46 +01:00
Gabriela Alexandra Moldovan
e5d1fa58f2 codegen and write_metadata can mutate ModuleLLvm. 2019-02-21 13:38:44 +00:00
Aaron Power
0ab2aedb7f
Update RELEASES.md 2019-02-21 14:10:24 +01:00
Mahmut Bulut
99d67ca3b8
Destabilize fixed-width const defined atomic integers
* With this PR 1.34.0 onwards const declarations of atomic integers will be
  unstable.
2019-02-21 13:57:51 +01:00
Ralf Jung
0f6d36375f explain why we use static alignment in ref-to-place conversion 2019-02-21 13:15:59 +01:00
bors
0e25a6829c Auto merge of #58535 - RalfJung:miri, r=oli-obk
update miri

r? @oli-obk

Fixes https://github.com/rust-lang/rust/issues/58558
2019-02-21 11:44:16 +00:00
Aaron Power
8060eb473d
Update RELEASES.md 2019-02-21 10:27:22 +01:00
Ralf Jung
59bdb31c89 final pin projections tweaking 2019-02-21 10:21:59 +01:00
Ralf Jung
c9ade6a577 more pin projections tweaking 2019-02-21 09:57:29 +01:00
Stjepan Glavina
c6d24cd504 Enable feature duration_constants in examples 2019-02-21 09:13:50 +01:00
Alex Gurganus
6a5abea709 Remove braces from most E0505 examples
The solution which uses braces to release the borrow
before it is moved is only required to satisfy the 2015
edition borrow checker.

All other examples give the expected results for both
2015 and 2018 editions.
2019-02-20 16:12:28 -06:00
Trevor Spiteri
42d749c9ec
Update RELEASES.md
Co-Authored-By: Aaronepower <Aaronepower@users.noreply.github.com>
2019-02-20 23:10:54 +01:00
Gabriela Alexandra Moldovan
36f18f2d3a Allow Self::Module to be mutated.
`codegen_allocator` and `write_metadata` mutate the underlying LLVM module. As
such, it makes sense for these two functions to receive a mutable reference to
the module (as opposed to an immutable one).
2019-02-20 21:35:34 +00:00
bors
1349c84a4f Auto merge of #58056 - nikomatsakis:issue-57843-universe-leak, r=pnkfelix
make generalization code create new variables in correct universe

In our type inference system, when we "generalize" a type T to become
a suitable value for a type variable V, we sometimes wind up creating
new inference variables. So, for example, if we are making V be some
subtype of `&'X u32`, then we might instantiate V with `&'Y u32`.
This generalized type is then related `&'Y u32 <: &'X u32`, resulting
in a region constriant `'Y: 'X`. Previously, however, we were making
these fresh variables like `'Y` in the "current universe", but they
should be created in the universe of V. Moreover, we sometimes cheat
in an invariant context and avoid creating fresh variables if we know
the result must be equal -- we can only do that when the universes
work out.

Fixes #57843

r? @pnkfelix
2019-02-20 21:12:18 +00:00
Stjepan Glavina
102436d16a Put Future trait into spotlight 2019-02-20 22:06:30 +01:00
Stjepan Glavina
f223c03372 Add examples for duration constants 2019-02-20 21:58:20 +01:00
Alex Gurganus
b2a02c8d4a Fixes #58586: Make E0505 explain example fail for 2018 edition 2019-02-20 14:46:42 -06:00
Ralf Jung
1b556f16c9 expand pinning projections 2019-02-20 19:38:28 +01:00
gnzlbg
103ed0c347 Search for target_triple.json only if builtin target not found
Before this commit, if the builtin target was found, but an error
happened when instantiating it (e.g. validating the target
specification file failed, etc.), then we ignored those errors
and proceeded to try to find a `target_triple.json` file, and if
that failed, reported that as an error.

With this commit, if rustc is supposed to provide the builtin target,
and something fails while instantiating it, that error will
get properly propagated.
2019-02-20 19:37:54 +01:00
Paul Dicker
6464e32ea9 Use standard Read/Write traits in sys::stdio 2019-02-20 19:27:03 +01:00
Paul Dicker
b09803e869 Address review comments 2019-02-20 19:26:56 +01:00
Ralf Jung
06b2affa78 tweak pinning projections 2019-02-20 18:28:12 +01:00
Andre Bogus
8cf3605c50 fix typo 2019-02-20 17:59:17 +01:00
Clint Frederickson
02fe6a7ba6 ./x.py test src/test/ui --stage 1 --bless -i --compare-mode=nll 2019-02-20 09:54:10 -07:00
Pietro Albini
703e2361f0
ci: switch appveyor to gce builders to try debugging the 259 failure 2019-02-20 17:01:29 +01:00
Santiago Pastorino
a12982cdc2
Run rustfmt 2019-02-20 12:15:27 -03:00
Santiago Pastorino
801c3f060f
Fix erroneous loop diagnostic in nll
This commit fixes the logic of detecting when a use happen in a later
iteration of where a borrow was defined

Fixes #53773
2019-02-20 12:15:08 -03:00
Aaron Power
d072510579
Update RELEASES.md 2019-02-20 15:53:44 +01:00