Commit Graph

64373 Commits

Author SHA1 Message Date
Josh Stone
3d6ee0a14b Force tool-rust-installer deps to build-only 2017-05-14 21:06:23 -07:00
Josh Stone
6edb4e22c4 Use "rust-installer tarball" to create rustc-src too
This gives us an extra rustc-src.tar.xz, which is 33% smaller than the .tar.gz!
2017-05-14 21:06:23 -07:00
Josh Stone
020c5ecca7 Update to the oxidized rust-installer 2017-05-14 21:06:23 -07:00
Esteban Küber
c0d5aa8aaf Make unsatisfied trait bounds note multiline
Make diagnostic note for existing method with unsatisfied trait bounds
multiline for cleaner output.

```
  = note: the method `count` exists but the following trait bounds were not satisfied:
          `[closure@../../src/test/compile-fail/issue-36053-2.rs:17:39: 17:53] : std::ops::FnMut<(&_,)>`
          `std::iter::Filter<std::iter::Fuse<std::iter::Once<&str>> [closure@../../src/test/compile-fail/issue-36053-2.rs:17:39: 17:53]> : std::iter::Iterator`

Before:

```
  = note: the method `count` exists but the following trait bounds were not satisfied: `[closure@../../src/test/compile-fail/issue-36053-2.rs:17:39: 17:53] : std::ops::FnMut<(&_,)>`, `std::iter::Filter<std::iter::Fuse<std::iter::Once<&str>>, [closure@../../src/test/compile-fail/issue-36053-2.rs:17:39: 17:53]> : std::iter::Iterator`
```
2017-05-14 20:38:26 -07:00
Wesley Wiser
173f6930ba Rewrite make-win-dist.py in Rust
Fixes #41568
2017-05-14 21:24:29 -04:00
Oliver Middleton
93f78bc45e rustdoc: Display extern "C" fn instead of extern fn 2017-05-15 00:52:17 +01:00
Robin Kruppe
1a24a591dd Remove rustc_llvm dependency from rustc_metadata
Move the code for loading metadata from rlibs and dylibs from
rustc_metadata into rustc_trans, and introduce a trait to avoid
introducing a direct dependency on rustc_trans.

This means rustc_metadata is no longer rebuilt when LLVM changes.
2017-05-14 20:30:22 +02:00
Felix Raimundo
a51777ec87 Improve thread::Builder documentation.
Part of #29378 .

- In particular explains *why* we would use the builder instead of
  the free function.
- Changes the parent-child explanation for a spawned-caller.
- Add link to `io::Result` in `thread::Builder`
- Corrects the `thread::Builder::spawn` documentation.
2017-05-14 20:13:32 +02:00
Oliver Middleton
d4f20eb7e3 linkchecker: Add support for <base> tag
Add support for the HTML <base> tag as used by mdBook so The Unstable
Book can be checked.

Also cleanup a few things:
* Stop checking the name attribute. It should never have been used and
mdBook has since been fixed not to use it.
* Make sure we only check html files.
* Remove a few unnecessary allocations.

Finally, dead links in The Unstable Book have been fixed.
2017-05-14 18:06:35 +01:00
Oliver Middleton
21ca9cab7d Fix some dead links in The Unstable Book 2017-05-14 18:06:13 +01:00
bors
386b0b9d39 Auto merge of #41978 - alexcrichton:update-cargo, r=Mark-Simulacrum
Update the Cargo submodule

Brings some nice updates like faster index clones/updates, retries on 500 from
crates.io, etc.
2017-05-14 16:16:17 +00:00
Felix Raimundo
770bd57ea5 Add 'static and Send constraints explanations to thread::spawn
Part of #29378.
2017-05-14 14:14:42 +02:00
Felix Raimundo
a9cb094879 Explain why thread::yield_now could be used.
Part of #29378.
2017-05-14 14:05:10 +02:00
bors
9f15631c36 Auto merge of #41969 - Enet4:update-rls-313, r=Mark-Simulacrum
Update RLS to solve serious crash

As a follow-up to rust-lang-nursery/rls#312, this PR contains the fix to the latest experienced RLS crashes, which should hopefully reach the nightly release as soon as possible.
2017-05-14 05:57:38 +00:00
est31
0d0cb2796b librustc_incremental: remove unused macro in test case 2017-05-14 05:06:21 +02:00
bors
94497b73a7 Auto merge of #41987 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 7 pull requests

- Successful merges: #41612, #41826, #41939, #41946, #41950, #41975, #41979
- Failed merges:
2017-05-14 03:00:34 +00:00
Mark Simulacrum
7294ce10b6 Rollup merge of #41979 - pftbest:msp430_libcalls, r=alexcrichton
LLVM: Add support for EABI-compliant libcalls on MSP430.

This change will allow rust code to have proper support for division
and multiplication using libgcc.

r? @alexcrichton
cc @awygle
2017-05-13 20:55:13 -06:00
Mark Simulacrum
6764ae13be Rollup merge of #41975 - liranringel:pass-static-crt-to-llvm-cmake-config, r=alexcrichton
Pass static crt to llvm cmake configuration

Solves https://github.com/rust-lang/rust/issues/40246
2017-05-13 20:55:13 -06:00
Mark Simulacrum
24aba55805 Rollup merge of #41950 - GuillaumeGomez:rustdoc-links, r=frewsxcv
Fix anchor invalid redirection to search

Fixes #41933.

r? @rust-lang/docs
2017-05-13 20:55:12 -06:00
Mark Simulacrum
e71d4404bd Rollup merge of #41946 - qnighy:disallow-dot-underscore-in-float, r=petrochenkov
Disallow ._ in float literal.

This patch makes lexer stop parsing number literals before `._`, as well as before `.a`. Underscore itself is still allowed like in `4_000_000.000_000_`.

Fixes a half part of #41723. The other is `""_`.
2017-05-13 20:55:11 -06:00
Mark Simulacrum
cfea522226 Rollup merge of #41939 - eddyb:trait-assoc-const-default, r=petrochenkov
rustc_resolve: don't deny outer type parameters in embedded constants.

This solves a problem noted at https://github.com/rust-lang/rust/issues/29646#issuecomment-300929548, where an associated const default in a trait couldn't refer to `Self` or type parameters, due to inaccuracies in lexical scoping.

I've also allowed "embedded expressions" (`[T; expr]`,  `[x; expr]`, `typeof expr`) to refer to type parameters in scope. *However*, the typesystem still doesn't handle #34344.
Fully resolving that issue requires breaking cycles more aggressively (e.g. lazy evaluation), *even* in when the expression doesn't depend on type parameters, to type-check it at all, and then also type-level "constant projections" (in the vein of `{expr}` from const generics).
2017-05-13 20:55:10 -06:00
Mark Simulacrum
27ea129dd3 Rollup merge of #41826 - GuillaumeGomez:add-markdown-content, r=frewsxcv
Add markdown-[before|after]-content options

cc @nical

r? @rust-lang/docs
2017-05-13 20:55:09 -06:00
Mark Simulacrum
c75ccd7b4e Rollup merge of #41612 - mandeep:add-ops-generics, r=GuillaumeGomez,frewsxcv
Added generic example of std::ops::Add in doc comments

We discussed on IRC how the std::ops examples were potentially missing examples using generics. This PR adds an example to std::ops::Add that shows the use of a generic type T. I'm not sure this is ready for merge as I think the two examples now make the documentation a bit verbose, but I think it's a good starting point. I'd love to hear others thoughts on this. This is in relation to the last item in issue #29365.
2017-05-13 20:55:08 -06:00
Eduardo Pinho
b8684347ae Update rls submodule with important fixes
- Updates ls_types to "0.10.0", which prevents RLS crashes
2017-05-14 01:25:58 +01:00
bors
93dd1cab5d Auto merge of #41919 - nrc:save-crate, r=eddyb
Include the crate's root module in save-analysis

r? @eddyb
2017-05-13 22:58:04 +00:00
Vadzim Dambrouski
51cebb3e63 LLVM: Add support for EABI-compliant libcalls on MSP430.
This change will allow rust code to have proper support for division
and multiplication using libgcc libcalls.
2017-05-13 21:23:00 +03:00
Alex Crichton
d0a6af37e7 Update the Cargo submodule
Brings some nice updates like faster index clones/updates, retries on 500 from
crates.io, etc.
2017-05-13 11:07:33 -07:00
bors
826d8f3850 Auto merge of #41914 - eddyb:region-refactor, r=nikomatsakis
rustc: simpler ParameterEnvironment and free regions.

The commits describe the slow transformation but the highlights are:
* `ReEarlyBound` is considered free, with a scope based on the item that defined the lifetime parameter, and the root body of the `RegionMaps` in use, removing the need for `free_substs`
* `liberate_late_bound_regions` and `implicit_region_bound` moved to typeck
* `CodeExtent` not interned at all now - ideally it would be 2 `u32` but it's small anyway

Future work building up on this could include:
* `ParameterEnvironment` becoming just the result of `predicates_of`
  * interning makes my "parent chain" scheme unnecessary
* `implicit_region_bound` could be retrieved from `RegionMaps`
* renaming `CodeExtent` to `Scope`
  * generalizing "call site" to "use site" or something better to include constants
* renaming `RegionMaps` to `ScopeTree` and its API to talk about "parents" explicitly
2017-05-13 17:56:09 +00:00
Liran Ringel
1163f2cc23 Pass static crt to llvm cmake configuration 2017-05-13 17:12:19 +02:00
Eduard-Mihai Burtescu
dc7ffbeca4 rustc_resolve: don't deny outer type parameters in embedded constants. 2017-05-13 17:45:54 +03:00
Eduard-Mihai Burtescu
6da4123f5f rustc: don't keep a second reference to the HIR map in middle::region. 2017-05-13 17:43:32 +03:00
Eduard-Mihai Burtescu
ea1c6df81e rustc: stop interning CodeExtent, it's small enough. 2017-05-13 17:43:32 +03:00
Eduard-Mihai Burtescu
da8b6e276e rustc: remove redundant fn_id's from CodeExtentData. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
2da080e779 rustc: treat ReEarlyBound as free without replacing it with ReFree. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
dbae169ac1 rustc_typeck: do not leak late-bound lifetimes from bounds to closures. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
74c6788d9c rustc: move liberate_late_bound_regions to rustc_typeck. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
6d4c2141b5 rustc: use DefId instead of CodeExtent for FreeRegion's scope. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
72aab7ade4 rustc_mir: remove unnecessary drop scope for constants. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
9809fe0d02 rustc: use call_site_extent for closure environment free regions. 2017-05-13 17:42:59 +03:00
Eduard-Mihai Burtescu
bd8246be74 rustc: uniformly compute ParameterEnvironment's "free outlive scope". 2017-05-13 17:42:59 +03:00
Jorge Aparicio
94d2c43300 add -Z pre-link-arg{,s} to rustc
This commit adds two unstable flags to `rustc`: `-Z pre-link-arg` and `-Z
pre-link-args`. These are the counterpart of the existing `-C link-arg{,s}`
flags and can be used to pass extra arguments at the *beginning* of the linker
invocation, before the Rust object files are passed.
2017-05-13 09:26:55 -05:00
est31
b36d23c8af Add test, and fix the other tests 2017-05-13 16:02:29 +02:00
est31
ba0601d4b6 libcore: #[allow] some unused macros 2017-05-13 16:02:29 +02:00
est31
d14d194f61 Support #[allow] etc logic on a per macro level
This commit extends the current unused macro linter
to support directives like #[allow(unused_macros)]
or #[deny(unused_macros)] directly next to the macro
definition, or in one of the modules the macro is
inside. Before, we only supported such directives
at a per crate level, due to the crate's NodeId
being passed to session.add_lint.

We also had to implement handling of the macro's
NodeId in the lint visitor.
2017-05-13 16:02:29 +02:00
est31
db82c57cb7 Extend the libsyntax visitor to work over macro defs 2017-05-13 16:02:29 +02:00
est31
df188b8f97 Add lint for unused macros 2017-05-13 16:02:29 +02:00
bors
77f1bec6f5 Auto merge of #41920 - arielb1:inline-drop, r=eddyb
remove the #[inline] attribute from drop_in_place

Apparently LLVM has exponential code growth while inlining landing pads
if that attribute is present.

Fixes #41696.

beta-nominating  because regression.
r? @eddyb
2017-05-13 13:59:19 +00:00
kennytm
115854e19c
Fix #35829 (syntax extension's quote_expr!() does not handle b"…")
* Handles `b"…"`, `br#"…"#` and `...` for `quote_expr!()`.
* Refactored the match statement to allow it to complain loudly on any
  unhandled token.
* Similarly, proc_macro's `quote!()` did not handle `br#"…"#` or `r#"…"#`,
  so this commit fixes it too.
2017-05-13 21:41:25 +08:00
Ariel Ben-Yehuda
237dbe939a add min-llvm-version 2017-05-13 14:38:15 +03:00
bors
ef3ec5ece5 Auto merge of #41965 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 15 pull requests

- Successful merges: #41820, #41860, #41876, #41896, #41912, #41916, #41918, #41921, #41923, #41934, #41935, #41940, #41942, #41943, #41951
- Failed merges:
2017-05-13 11:35:59 +00:00