Commit Graph

84684 Commits

Author SHA1 Message Date
Ralf Jung
322017b2bc unify handling of thin and fat pointers by moving primitive type handling out of aggregate handling
Also, make enum variant handling a bit nicer
2018-10-09 13:08:00 +02:00
Ralf Jung
95593331bf add some tests with constants that better be valid 2018-10-09 13:08:00 +02:00
Ralf Jung
22c1a0acc8 For now, accept all data for integer types when not in const mode
We'll try ruling out undef later
2018-10-09 13:08:00 +02:00
Ralf Jung
9bb4bcd770 tidy up 2018-10-09 13:08:00 +02:00
Ralf Jung
654d9ff618 do not look at refs to external statics at all 2018-10-09 13:08:00 +02:00
Ralf Jung
616cb6356f miri engine: also check return type before calling function 2018-10-09 13:08:00 +02:00
Ralf Jung
d2b9b1de05 add machine option to validate things on every copy 2018-10-09 13:08:00 +02:00
Ralf Jung
13bdc1673d move a test to a better place 2018-10-09 13:08:00 +02:00
Ralf Jung
69a320f40d also validate everything that has a Scalar layout, to catch NonNull 2018-10-09 13:08:00 +02:00
Ralf Jung
0a2fae6cb7 fix validating arrays of ZSTs
Fixes #54751
2018-10-09 13:08:00 +02:00
Ralf Jung
f65d3b5491 switch validation of scalars to be type-driven
This does not actually regress anything.  It would regress NonNull, but we
didn't handle that correctly previously either.
2018-10-09 13:08:00 +02:00
Ralf Jung
ff5a245f52 check that entire ref is in-bounds before recursing; add macro for validation msgs on error 2018-10-09 13:08:00 +02:00
Ralf Jung
bf5e6ebdd3 miri validity: make recursive ref checking optional 2018-10-09 13:08:00 +02:00
David Wood
98633b458b
Improve message for closure returning a closure.
Now when a `FnMut` closure is returning a closure that contains a
reference to a captured variable, we provide an error that makes it more
clear what is happening.
2018-10-09 12:31:51 +02:00
David Wood
c65e119229
Improve errors for FnMut closures.
This commit improves the errors for `FnMut` closures where a reference
to a captured variable is escaping.
2018-10-09 12:31:47 +02:00
bors
e1643a8968 Auto merge of #54757 - nikomatsakis:nll-issue-54573-user-annot, r=pnkfelix
user annotations in patterns

Fixes https://github.com/rust-lang/rust/issues/54573

r? @pnkfelix
2018-10-09 10:15:44 +00:00
bors
607243b6f9 Auto merge of #54798 - matthewjasper:free-region-closure-errors, r=nikomatsakis
[NLL]  Improve closure region bound errors

Previously, we would report free region errors that originate from closure with the span of the closure and a "closure body requires ..." message. This is now updated to use a reason and span from inside the closure.
2018-10-09 07:22:14 +00:00
Jorge Aparicio
faa733dd18 fix tidy 2018-10-09 08:58:02 +02:00
Jorge Aparicio
4d8310cef2 gdb_rust_pretty_printing: adapt to the changes in the layout of btree::LeafNode 2018-10-09 08:58:01 +02:00
Jorge Aparicio
6644e18e30 address RalfJung's comment 2018-10-09 08:58:01 +02:00
Jorge Aparicio
aeea992fa2 alloc: fix deprecated warnings 2018-10-09 08:58:01 +02:00
Paweł Romanowski
1f7dafbb77 Fix test for windows os 2018-10-09 08:24:29 +02:00
mandeep
1e584bf5c9 Refactor macro comment and add resize with zeros example 2018-10-09 01:51:22 -04:00
Matthew Russo
344747330c parse_trait_item_ now handles interpolated blocks as function body decls 2018-10-08 22:50:34 -04:00
Niko Matsakis
ccba716099 add some debug! to type checking 2018-10-08 19:21:22 -04:00
Niko Matsakis
16e1aaf09d document create_substs_for_generic_args 2018-10-08 19:20:37 -04:00
Niko Matsakis
40ab41fd18 add pattern type ascriptions for tuple/brace structs/enums 2018-10-08 19:20:37 -04:00
Niko Matsakis
a609384561 do not skip renumbering the place in place-type-ascriptions 2018-10-08 19:20:37 -04:00
Niko Matsakis
71fed065f7 extract more helper fns around user substs 2018-10-08 19:20:37 -04:00
Niko Matsakis
f4b711516d move user_annotated_ty_for_adt into a helper trait 2018-10-08 19:20:37 -04:00
bors
b1a137d015 Auto merge of #54686 - zackmdavis:zero_life, r=nikomatsakis
structured suggestions for unused-lifetimes lint

Regretfully, resolve_lifetime.rs is suffering from a bit of rightward-drift, but

![zero_life](https://user-images.githubusercontent.com/1076988/46253407-010e7880-c430-11e8-8faf-b9afc1405415.png)

r? @nikomatsakis
2018-10-08 22:06:52 +00:00
varkor
be8896109a Fix handling of #[must_use] on unit and uninhabited types 2018-10-08 23:01:42 +01:00
ljedrz
a0fc2e6ddc codegen_llvm: remove explicit returns 2018-10-08 19:17:25 +02:00
ljedrz
b168e5f125 codegen_llvm: fix spelling & grammatical errors 2018-10-08 19:17:24 +02:00
ljedrz
0af79143ae codegen_llvm: improve common patterns 2018-10-08 19:17:24 +02:00
Tom Tromey
ac33b2e578 Run debuginfo tests against rust-enabled lldb, when possible
If the rust-enabled lldb was built, then use it when running the
debuginfo tests.  Updating the lldb submodule was necessary as this
needed a way to differentiate the rust-enabled lldb, so I added a line
to the --version output.

This adds compiletest commands to differentiate between the
rust-enabled and non-rust-enabled lldb, as is already done for gdb.  A
new "rust-lldb" header directive is also added, but not used in this
patch; I plan to use it in #54004.

This updates all the tests.
2018-10-08 11:04:24 -06:00
Paweł Romanowski
882e373275 Attempt to fix #54505 tests for wasm 2018-10-08 18:39:09 +02:00
Ralf Jung
54a3583da7 it's auto traits that make for automatic implementations 2018-10-08 17:44:33 +02:00
ljedrz
cd41765851 codegen_llvm: improve allocations 2018-10-08 16:55:04 +02:00
ljedrz
61f47737b5 codegen_llvm: whitespace & formatting improvements 2018-10-08 16:52:34 +02:00
Felix S. Klock II
40e20e288d Added text explaining the (new) relative roles of optimize+debug
and to briefly touch on the theory of debugging rustc versus the
practice of such.
2018-10-08 15:43:53 +02:00
scalexm
282559cff6 Compute flags for ty::UnnormalizedProjection 2018-10-08 15:26:22 +02:00
scalexm
96ff827395 Add chalk rules related to associated type defs
* Rule ProjectionEq-Skolemize
* Rule WellFormed-AssocTy
* Rule Implied-Trait-From-AssocTy
2018-10-08 15:26:22 +02:00
bors
423d810986 Auto merge of #54871 - u32i64:master, r=frewsxcv
Remove unnecessary comma in `libstd/thread/mod.rs` doc comment

Fix typo in `libstd/thread/mod.rs` doc comment: remove unnecessary comma.
2018-10-08 12:17:36 +00:00
scalexm
663002f222 Pass around interned refs to goals and not goals 2018-10-08 12:55:18 +02:00
David Wood
9e49ac067f
Change from label to suggestion.
This commit changes the label to a maybe incorrect suggestion for better
integration with RLS.
2018-10-08 12:26:56 +02:00
David Wood
f8c1b0cd5b
Add struct field suggestions.
This commit adds suggestions to change the definitions of fields in
struct definitions from immutable references to mutable references.
2018-10-08 12:26:55 +02:00
David Wood
fe8ace8da3
Move errors specify "dereference of raw pointer".
Previously, move errors involving the dereference of a raw pointer would
say "borrowed content". This commit changes it to say "dereference of
raw pointer".
2018-10-08 12:23:50 +02:00
bors
96734ae0d4 Auto merge of #54865 - pietroalbini:1.29.2-notes, r=pietroalbini
Backport 1.29.2 release notes to master

r? @ghost
2018-10-08 09:29:59 +00:00
Clément Renault
c232ea1276 Bump the Option::replace stabilize version to 1.31.0 2018-10-08 10:18:43 +02:00