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
Jorge Aparicio
09ba9f5c87
remove #[old_impl_check] now that #21363 has been fixed
2015-01-29 07:49:02 -05:00
Jorge Aparicio
92e966e099
register snaphots
2015-01-29 07:49:02 -05:00
Jorge Aparicio
16a2503a1c
undo some conversions
2015-01-29 07:49:02 -05:00
Jorge Aparicio
3cc191e58a
remove unused imports
2015-01-29 07:49:01 -05:00
Jorge Aparicio
94d04e684c
fix inference fallout
2015-01-29 07:49:01 -05:00
Jorge Aparicio
efc97a51ff
convert remaining range(a, b)
to a..b
2015-01-29 07:49:01 -05:00
Jorge Aparicio
7d661af9c8
for x in range(a, b)
-> for x in a..b
...
sed -i 's/in range(\([^,]*\), *\([^()]*\))/in \1\.\.\2/g' **/*.rs
2015-01-29 07:47:37 -05:00
Jorge Aparicio
c300d681bd
range(a, b).foo()
-> (a..b).foo()
...
sed -i 's/ range(\([^,]*\), *\([^()]*\))\./ (\1\.\.\2)\./g' **/*.rs
2015-01-29 07:46:44 -05:00