Commit Graph

37951 Commits

Author SHA1 Message Date
Jorge Aparicio cb896a6e5f fix recursive call 2015-01-30 10:37:44 -05:00
Jorge Aparicio d4b3e7f09c remove the `Iterator` lang item 2015-01-30 10:37:44 -05:00
Jorge Aparicio bfaf4227b8 smoke out remaining bugs 2015-01-30 10:37:44 -05:00
Jorge Aparicio ed82b5a70e remove Copy impls from iterators 2015-01-30 10:37:44 -05:00
Jorge Aparicio 9070345c0e add tests 2015-01-30 10:37:44 -05:00
Jorge Aparicio a873316277 remove dead code 2015-01-30 10:37:44 -05:00
Jorge Aparicio acb8c1aaa6 remove more `ExprForLoop`s 2015-01-30 10:37:44 -05:00
Jorge Aparicio 76362f0a0e custom message for refutable patterns in for loops 2015-01-30 10:37:44 -05:00
Jorge Aparicio 5e1820f346 fix tests 2015-01-30 10:37:44 -05:00
Jorge Aparicio f9865eac18 fix fallout 2015-01-30 10:37:44 -05:00
Jorge Aparicio 9fdc0effd2 implement for loop desugaring 2015-01-30 10:36:31 -05:00
Jorge Aparicio a65d3f5b98 core: add the `IntoIterator` trait 2015-01-30 10:36:31 -05:00
bors 3fbfad3519 Auto merge of #21604 - nikomatsakis:closure-move-indiv-vars, r=eddyb
r? @eddyb
2015-01-30 15:32:27 +00:00
bors 1a51eb9cca Auto merge of #21717 - nick29581:prelude-fullrange, r=acrichto
r? @alexcrichton
2015-01-30 12:43:41 +00:00
Niko Matsakis ced10626de Address @eddyb nit by simplifying `ClosureEnv`. 2015-01-30 05:57:57 -05:00
Niko Matsakis a962bdb3da Use `#[rustc_paren_sugar]` as a more extensible way of deciding when
paren sugar is legal.
2015-01-30 05:57:57 -05:00
Richo Healey ff25fd660a lint: Add test for no_mangle 2015-01-30 02:57:45 -08:00
Niko Matsakis 80c793c1d3 Allow individual upvars to be inferred to move semantics. Fixes #21603. 2015-01-30 05:56:39 -05:00
Niko Matsakis 2f29cdeb4b Remove the capture mode map and just store the capture mode for individual variables.
Also add test. Fixes #16749.
2015-01-30 05:56:39 -05:00
bors e0f5980ead Auto merge of #21351 - eddyb:x-coerce--a-new-hope, r=nikomatsakis
Coercions will now attempt to autoderef as needed before reborrowing.
This includes overloaded `Deref`, e.g. `&Rc<T>` coerces to `&T`, and
`DerefMut`, e.g. `&mut Vec<T>` coerces to `&mut [T]` (in addition to `&[T]`).
Closes #21432.
2015-01-30 07:57:14 +00:00
Richo Healey d2ab7d3ea8 rt: allow unexported functions
rust_panic is unexported, however the metadata exported will usually
include it for attaching breakpoints.
2015-01-29 21:32:01 -08:00
Richo Healey 44ff72195e lint: warn about #[no_mangle] fns that aren't exported
The usecase is that functions made visible to systems outside of the
rust ecosystem require the symbol to be visible.
2015-01-29 21:32:00 -08:00
Chris Morgan 9836742d6a Add a few missing stability markers. 2015-01-30 15:22:19 +11:00
Tobias Bucher 7f64fe4e27 Remove all `i` suffixes 2015-01-30 04:38:54 +01:00
P1start 39a8c23c0b Make the naming lints only warn on names with upper/lowercase equivalents
Closes #21735.
2015-01-30 14:18:04 +13:00
Brian Anderson 5716ede92c doc: Add links to users.rust-lang.org 2015-01-29 15:49:00 -08:00
Brian Anderson 03b9995be9 Register snaps 2015-01-29 15:02:00 -08:00
Nick Cameron 023d49e347 Change from core::ops::RangeFull to std::ops 2015-01-30 12:01:08 +13:00
Nick Cameron bf2b473816 Rename FullRange to RangeFull 2015-01-30 12:01:08 +13:00
Nick Cameron c64a96d385 Remove FullRange from the prelude etc. 2015-01-30 12:00:20 +13:00
Nick Cameron a9d465fec9 Use absolute path to FullRange, rather than assuming it is in the prelude
Closes #21263

[breaking-change]

If you are using `core::ops::FullRange` you should change to using `core::ops::RangeFull`
2015-01-30 12:00:20 +13:00
Nick Cameron 9ba99666f3 Review changes 2015-01-30 11:58:10 +13:00
Nick Cameron b159d9cde5 Make the save-analysis smoke test more thorough 2015-01-30 11:58:10 +13:00
Nick Cameron 78f617800f save-anlaysis: misc bug fixes
In particular, handling of struct literals where the struct name is a type alias, and tuple indexing.

Plus some other stuff.
2015-01-30 11:58:10 +13:00
Nick Cameron dcbd418b1c save-analysis: handle absolute paths properly 2015-01-30 11:57:33 +13:00
Nick Cameron 1174550191 save-analysis: Use the correct span for `extern crate` 2015-01-30 11:57:33 +13:00
Nick Cameron 127c253d40 save-analysis: don't include the crate name in fully qualified paths 2015-01-30 11:57:33 +13:00
bors 52c74e63da Auto merge of #21692 - pnkfelix:fsk-fix-coerce-match-20055, r=eddyb
trans: When coercing to `Box<Trait>` or `Box<[T]>`, leave datum in it's original L-/R-value state.

This fixes a subtle issue where temporaries were being allocated (but not necessarily initialized) to the (parent) terminating scope of a match expression; in particular, the code to zero out the temporary emitted by `datum.store_to` is only attached to the particular match-arm for that temporary, but when going down other arms of the match expression, the temporary may falsely appear to have been initialized, depending on what the stack held at that location, and thus may have its destructor erroneously run at the end of the terminating scope.

FIx #20055.

(There may be a latent bug still remaining in `fn into_fat_ptr`, but I am so annoyed by the test/run-pass/coerce_match.rs failures that I want to land this now.)
2015-01-29 22:54:19 +00:00
Eduard Burtescu ae076e1e3b Implement deref coercions (rust-lang/rfcs#241). 2015-01-30 00:30:12 +02:00
Eduard Burtescu b48c4c8cf4 rustc_typeck: cleanup coercion logic that has been obsolete/unused for a while now. 2015-01-30 00:27:12 +02:00
Eduard Burtescu 6a478bdfd2 rustc_typeck: use FnCtxt in coercion, instead of mimicking a combiner. 2015-01-30 00:27:12 +02:00
Eduard Burtescu f9f3ba5920 rustc: move infer::coercion to rustc_typeck. 2015-01-30 00:27:12 +02:00
bors 7ea93abfb2 Auto merge of #21691 - edwardw:double-closure, r=nikomatsakis
It was considered to be impossible but actually it can
happen for nested closures. Also, because there must
be nested closures when this happens, we can use more
targeted help message.

Closes #21390
Closes #21600
2015-01-29 19:36:03 +00:00
Tom Jakubowski 1cf684ca94 rustdoc: Render new `self` syntax in `use`
Fix #21442
2015-01-29 11:03:25 -08:00
bors 265a23320d Auto merge of #21677 - japaric:no-range, r=alexcrichton
Note: Do not merge until we get a newer snapshot that includes #21374

There was some type inference fallout (see 4th commit) because type inference with `a..b` is not as good as with `range(a, b)` (see #21672).

r? @alexcrichton
2015-01-29 16:28:52 +00:00
Loïc Damien d8e12365cd Fix unknown option message for -Z
Before, unknown -Z option would result in a "error: unknown codegen option"
message instead of "error: unknown debugging option".
2015-01-29 16:25:20 +01:00
Niko Matsakis f1ace34d5c Make subtyping for projection types stricter. Fixes #21726. 2015-01-29 09:06:34 -05:00
Jorge Aparicio a6f9180fd6 bring back `#[derive(Show)]` with a deprecation warning 2015-01-29 07:49:02 -05:00
Jorge Aparicio 4b75931ce2 fix import in cfail test 2015-01-29 07:49:02 -05:00
Jorge Aparicio 788181d405 s/Show/Debug/g 2015-01-29 07:49:02 -05:00