Commit Graph

83003 Commits

Author SHA1 Message Date
bors
d95f078f0a Auto merge of #53225 - nikomatsakis:nll-type-annot, r=pnkfelix
MIR: support user-given type annotations on fns, structs, and enums

This branch adds tooling to track user-given type annotations on functions, structs, and enum variant expressions. The user-given types are passed onto NLL which then enforces them.

cc #47184 — not a complete fix, as there are more cases to cover

r? @eddyb
cc @rust-lang/wg-compiler-nll
2018-08-24 22:42:00 +00:00
Niko Matsakis
73fb1622b3 check that adding infer-outlives requirement to all crates works 2018-08-24 17:10:50 -04:00
Niv Kaminer
83ca347343 remove copyright headers now that they are not madatory 2018-08-25 00:07:00 +03:00
Mark Mansi
b32b6e803b fix tests 2018-08-24 15:48:00 -05:00
Mark Mansi
0cec1b92c3 oops 2018-08-24 15:48:00 -05:00
Mark Mansi
88037a5587 Add/update tests for 2015, 2018, rustfix 2018-08-24 15:48:00 -05:00
Mark Mansi
3c3c642a05 Start working on a test 2018-08-24 15:48:00 -05:00
Mark Mansi
3e073ab111 fix compile error 2018-08-24 15:48:00 -05:00
Mark Mansi
d2dfc9cea3 Remove anon trait params from 2018 and beyond 2018-08-24 15:48:00 -05:00
Jorge Aparicio
d65a64e31b change the default linker of the ARM Cortex-M targets
to rust-lld so users won't need an external linker to build programs
2018-08-24 21:40:57 +02:00
bors
d41f21f11a Auto merge of #53460 - JoshBrudnak:master, r=estebank
Fix compile panic on non existent type return

Reverted the change 28a76a9000 (diff-4ed25c00aceb84666fca639cf8101c7cL1069) which was panicking when returning a type that cannot be found in the current scope and added testing for the compile error.

For example:
```rust
fn addition() -> Wrapper<impl A> {}
```
Where Wrapper is undefined in the scope.
2018-08-24 19:21:27 +00:00
Taylor Cramer
3a20faa418 Update libc to include Fuchsia fixes 2018-08-24 11:52:49 -07:00
Niko Matsakis
ed73a3267a address pnkfelix nits 2018-08-24 13:27:38 -04:00
Niko Matsakis
5778fec665 pacify the mercilous tidy: adt-nullary-enums test 2018-08-24 13:27:38 -04:00
Niko Matsakis
7c3654a722 pacify the mercilous tidy: adt user-ty 2018-08-24 13:27:38 -04:00
Niko Matsakis
fa787454c5 pacify the mercilous tidy: user-ty on rvalue assignments 2018-08-24 13:27:38 -04:00
Niko Matsakis
6f73127458 pacify the mercilous tidy: doc comment for is_identity 2018-08-24 13:27:38 -04:00
Niko Matsakis
beb3374b1c pacify the mercilous tidy: canonical ignore comments 2018-08-24 13:27:38 -04:00
Niko Matsakis
f8653006d3 ufcs with annot in position 1 and 2 2018-08-24 13:27:38 -04:00
Niko Matsakis
05c1b89308 rename test case
the 3 is because the type arguments are in the 3rd position
2018-08-24 13:27:38 -04:00
Niko Matsakis
016ccf8e6e include ADT user-ty in output 2018-08-24 13:27:38 -04:00
Niko Matsakis
e84db9bc1b add test for method ufcs notation 2018-08-24 13:27:38 -04:00
Niko Matsakis
56506cfa25 support user-given types in adts 2018-08-24 13:27:38 -04:00
Niko Matsakis
2d1d3fef62 support user annotations in fns, methods 2018-08-24 13:27:38 -04:00
Niko Matsakis
5f1643d2ea equate the user_ty of a constant with its declared ty 2018-08-24 13:27:38 -04:00
Niko Matsakis
e23ad83fbc add a user_ty annotation to Constant 2018-08-24 13:27:38 -04:00
Niko Matsakis
d7d4d7c8d5 add a user_substs table and store the annotations in there 2018-08-24 13:27:38 -04:00
Niko Matsakis
1884fe35b6 add a user_substs map into the typeck tables 2018-08-24 13:27:38 -04:00
bors
727eabd681 Auto merge of #53662 - kennytm:rollup, r=kennytm
Rollup of 16 pull requests

Successful merges:

 - #53311 (Window Mutex: Document that we properly initialize the SRWLock)
 - #53503 (Discourage overuse of mem::forget)
 - #53545 (Fix #50865: ICE on impl-trait returning functions reaching private items)
 - #53559 (add macro check for lint)
 - #53562 (Lament the invincibility of the Turbofish)
 - #53563 (use String::new() instead of String::from(""), "".to_string(), "".to_owned() or "".into())
 - #53592 (docs: minor stylistic changes to str/string docs)
 - #53594 (Update RELEASES.md to include clippy-preview)
 - #53600 (Fix a grammatical mistake in "expected generic arguments" errors)
 - #53614 (update nomicon and book)
 - #53617 (tidy: Stop requiring a license header)
 - #53618 (Add missing fmt examples)
 - #53636 (Prefer `.nth(n)` over `.skip(n).next()`.)
 - #53644 (Use SmallVec for SmallCStr)
 - #53664 (Remove unnecessary closure in rustc_mir/build/mod.rs)
 - #53666 (Added rustc_codegen_llvm to compiler documentation.)
2018-08-24 17:02:23 +00:00
MaloJaffre
11e488b64f Optimize VecDeque::append 2018-08-24 17:43:05 +02:00
MaloJaffre
6ce76acae4 Slightly refactor VecDeque implementation 2018-08-24 17:43:05 +02:00
kennytm
c6039de546
Rollup merge of #53666 - davidtwco:issue-51737, r=Mark-Simulacrum
Added rustc_codegen_llvm to compiler documentation.

Fixes #51737.
2018-08-24 23:27:57 +08:00
kennytm
a1ec2f76bb
Rollup merge of #53545 - FelixMcFelix:fix-50865-beta, r=petrochenkov
Fix #50865: ICE on impl-trait returning functions reaching private items

Adds a test case as suggested in #50865, and implements @petrochenkov's suggestion. Fixes #50865.

Impl-trait-returning functions are marked under a new (low) access level, which they propagate rather than `AccessLevels::Reachable`. `AccessLevels::is_reachable` returns false for such items (leaving stability analysis unaffected), these items may still be visible to the lints phase however.
2018-08-24 23:27:16 +08:00
bors
61b0072707 Auto merge of #53044 - SergioBenitez:stable-attr-literals, r=petrochenkov
Stabilize 'attr_literals' feature.

RFC Issue: rust-lang/rfcs#1559
Tracking Issue: rust-lang/rust#34981

Reference PR: https://github.com/rust-lang-nursery/reference/pull/388.
2018-08-24 14:48:29 +00:00
Matthew Russo
79afc6e9e8 updates tests to use new error code 2018-08-24 08:51:25 -04:00
Matthew Russo
34e76375ce Removing GenericArgMismatchErrorCode. 2018-08-24 08:50:00 -04:00
Matthew Russo
aa2abeaf34 Merging error code descriptions into E0107 and adding "no longer
emitted" messages to the others.
2018-08-24 08:49:56 -04:00
kennytm
62f29c4fb8
Rollup merge of #53664 - IsaacWoods:fix_53608, r=oli-obk
Remove unnecessary closure in rustc_mir/build/mod.rs

Fixes #53608
2018-08-24 19:29:59 +08:00
kennytm
0009fad435
Rollup merge of #53644 - llogiq:smallvec-for-small-c-str, r=estebank
Use SmallVec for SmallCStr

This reuses the awesome optimizations from Servo's `SmallVec` to speed up `SmallCStr`.
2018-08-24 19:24:45 +08:00
kennytm
9dfb95b11f
Rollup merge of #53636 - frewsxcv:frewsxcv-nth, r=rkruppe
Prefer `.nth(n)` over `.skip(n).next()`.

Found by clippy.
2018-08-24 19:24:44 +08:00
kennytm
a37b69da9f
Rollup merge of #53618 - GuillaumeGomez:fmt-examples, r=QuietMisdreavus
Add missing fmt examples

r? @QuietMisdreavus
2018-08-24 19:24:42 +08:00
kennytm
cf90fd04dc
Rollup merge of #53617 - joshtriplett:tidy-no-license-header, r=Mark-Simulacrum
tidy: Stop requiring a license header

Previously approved in rust-lang/rust#43498 ; update tidy to match.
2018-08-24 19:24:40 +08:00
kennytm
ff4500c389
Rollup merge of #53614 - RalfJung:nomicon, r=kennytm
update nomicon and book
2018-08-24 19:24:38 +08:00
kennytm
7d990fa7cd
Rollup merge of #53600 - varkor:expected-generic-arg-s, r=eddyb
Fix a grammatical mistake in "expected generic arguments" errors

r? @eddyb
2018-08-24 19:24:37 +08:00
kennytm
3fbd72e66b
Rollup merge of #53594 - rust-lang:Aaronepower-patch-1, r=Mark-Simulacrum
Update RELEASES.md to include clippy-preview

[Rendered](https://github.com/rust-lang/rust/blob/Aaronepower-patch-1/RELEASES.md#misc)

r? @Mark-Simulacrum
2018-08-24 19:24:35 +08:00
kennytm
c51903c73e
Rollup merge of #53592 - matthiaskrgr:str_doc, r=alexcrichton
docs: minor stylistic changes to str/string docs

std::string::String.repeat(): slightly rephrase to be more in-line with other descriptions.

add ticks around a few keywords in other descriptions.
2018-08-24 19:24:32 +08:00
bors
57e13babe9 Auto merge of #53653 - petrochenkov:moreregr, r=Mark-Simulacrum
Address two regressions

Remove assert checking that expansion data is immutable until I have time to investigate why it's firing, cc https://github.com/rust-lang/rust/issues/52363
Turn the error for module-relative access to macro-expanded `macro_export` macros into a deprecation lint, closes https://github.com/rust-lang/rust/issues/53495
2018-08-24 11:22:11 +00:00
David Wood
c802be6f30
Added rustc_codegen_llvm to compiler documentation. 2018-08-24 13:09:34 +02:00
Isaac Woods
b24a30e94d
Remove unnecessary closure in rustc_mir/build/mod.rs 2018-08-24 11:21:15 +01:00
Nicholas Nethercote
626b2987a9 Introduce UnionIntoIdxSet and SubtractFromIdxSet traits.
They let `union()`, `union_sparse()` and `union_hybrid()` be merged.
Likewise for subtract()`, `subtract_sparse()` and `subtract_hybrid()`.
2018-08-24 19:51:09 +10:00