Commit Graph

16297 Commits

Author SHA1 Message Date
Jed Davis
e42afd3129 Let const_deref "dereference" newtypes. 2013-03-09 17:40:59 -08:00
Jed Davis
5ca1d353de Implement most of adjustment handling for consts.
Changes the ad-hoc closure adjustment into using adjustment info instead
of being separately driven from types, and likewise for autoderef.

Also takes care of autoref (the cases we should be seeing in consts,
at least, since we can't be doing method calls which would need the
ref-to-vec mode), which didn't quite work right previously.

However, "dereference" of a newtype isn't handled yet....
2013-03-09 17:40:59 -08:00
Jed Davis
5571ca9b21 Break out const_addr_of. 2013-03-09 17:40:59 -08:00
bors
a90551b711 auto merge of #5302 : thestinger/rust/vec, r=nikomatsakis 2013-03-09 17:39:42 -08:00
bors
a347e9d635 auto merge of #5296 : nikomatsakis/rust/region-syntax-expl-lifetimes-2, r=nikomatsakis
Modify pretty-printer to emit lifetimes and fix a few minor
parser bugs that this uncovered.

r? whomever.
2013-03-09 16:48:44 -08:00
Niko Matsakis
7cbd4b20ee Remove @ast::Region and replace with @ast::Lifetime.
Modify pretty-printer to emit lifetimes and fix a few minor
parser bugs that this uncovered.
2013-03-09 19:43:59 -05:00
Daniel Micay
788de758e3 vec: cleanup 2013-03-09 16:53:39 -05:00
bors
98ce99d500 auto merge of #5295 : apasel422/rust/kate, r=brson
Two small changes: `Not` was missing from the list of core traits and `assert` was removed from the language.
2013-03-09 13:42:44 -08:00
Daniel Micay
06a336ae79 vec: renovate the BaseIter impl
* add 'self region to the borrowed pointer parameter
* rm workaround for #2263
* inline (wrappers)
* iter-trait is gone
2013-03-09 16:27:15 -05:00
bors
1cde7e6bc2 auto merge of #5294 : apasel422/rust/clone, r=nikomatsakis
This makes `#[deriving_clone]` useful.

I wasn't sure if a macro was the right way to do this, but it seems more maintainable than a series of repetitive `impl`s.
2013-03-09 11:54:44 -08:00
Andrew Paseltiner
b4f57d46e6 kate: remove assert keyword 2013-03-09 12:23:33 -05:00
Andrew Paseltiner
78b6e375df kate: add Not to list of traits 2013-03-09 12:23:33 -05:00
Andrew Paseltiner
bef5396af6 core: implement Clone for primitive types 2013-03-09 12:14:12 -05:00
bors
a5fae1dac7 auto merge of #5290 : bstrie/rust/dis, r=pcwalton 2013-03-08 18:15:40 -08:00
Ben Striegel
fdf69dd7b0 Finish de-implicit-selfing everything but the test suite 2013-03-08 19:34:39 -05:00
bors
ddecef7944 auto merge of #5287 : thestinger/rust/iter-trait, r=pcwalton
Closes #2827
2013-03-08 15:27:37 -08:00
Daniel Micay
b69fb75348 implement BaseIter for dlist (removing iter-trait)
Closes #2827
2013-03-08 18:19:30 -05:00
Jed Davis
8453f3110c rust-mode.el uses the 'cl macros, so it should actually require them
Without this change, rust-mode doesn't work if 'cl hasn't been required
by something else, apparently.  I'm not entirely sure what changed such
that I started seeing this problem instead of not, but maybe the emacs
world has been making progress towards not loading 'cl at runtime if
it's only needed at compile time.
2013-03-08 12:51:16 -08:00
bors
eaed16cea6 auto merge of #5278 : brson/rust/logplusplus, r=brson
r?

`log` can  polymorphically log anything, but debug!, etc. requires a format string. With this patch you can equivalently write `debug!(foo)` or `debug!("%?", foo)`.

I'm doing this because I was trying to remove `log` (replacing it with nothing, at least temporarily), but there are a number of logging statements that just want to print an arbitrary value and don't care about the format string.

I'm not entirely convinced this is a good change, since it overloads the implementation of these macros and makes their usage slightly more nuanced.
2013-03-08 12:27:39 -08:00
bors
ac3dc66ec1 auto merge of #5284 : thestinger/rust/iter-trait, r=brson
I missed this when I replaced iter-trait with a `BaseIter` impl.
2013-03-08 11:36:36 -08:00
Daniel Micay
cf9e958fe0 rm obsolete iter-trait/option.rs file 2013-03-08 12:34:43 -05:00
bors
3bbcac3226 auto merge of #5279 : alexcrichton/rust/no-dvec, r=pcwalton
Closes #4985 by removing the `dvec` module and all use cases throughout the compiler.

A number of uses were directly convertible to `let mut foo = ~[];`, while others in hash maps and some fields had to be converted to `@mut ~[T]`. A small number of `DVec` instances in fields were able to be converted directly to `~[T]` without the `@`, but this was a difficult thing to do.
2013-03-08 08:45:43 -08:00
Alex Crichton
62651df2b4 Fix dvec-related fallout in tests 2013-03-08 09:56:52 -05:00
Alex Crichton
59de3853be core: Remove the dvec module 2013-03-08 09:54:41 -05:00
Alex Crichton
2c87920f52 test: Removing dvec uses 2013-03-08 09:54:41 -05:00
Alex Crichton
7f99a02ddb syntax: Remove uses of DVec 2013-03-08 09:54:20 -05:00
Alex Crichton
2a72099063 rustc: Remove uses of DVec 2013-03-08 09:54:20 -05:00
Alex Crichton
87f864292d std: Remove uses of DVec 2013-03-08 09:54:20 -05:00
Alex Crichton
7ccb0e63c5 core: Remove uses of DVec in io/repr 2013-03-08 09:53:45 -05:00
bors
647a94d01a auto merge of #5260 : pcwalton/rust/assert, r=pcwalton
r? @brson
2013-03-07 23:21:39 -08:00
Patrick Walton
48b14f5562 librustc: Add #[link_args] to metadata 2013-03-07 22:37:58 -08:00
Patrick Walton
d661711cc2 test: Fix tests. 2013-03-07 22:37:58 -08:00
Patrick Walton
9a17ef9b52 librustc: Stop parsing assert. 2013-03-07 22:37:57 -08:00
Patrick Walton
d7e74b5e91 librustc: Convert all uses of assert over to fail_unless! 2013-03-07 22:37:57 -08:00
Patrick Walton
0ea031bcb8 librustc: Remove record patterns from the compiler 2013-03-07 22:37:03 -08:00
Patrick Walton
954ae9c975 libsyntax: Remove struct literal expressions from the compiler 2013-03-07 22:32:55 -08:00
Patrick Walton
4e3dbfe052 librustc: Remove structural record types from the compiler 2013-03-07 22:32:54 -08:00
Patrick Walton
239e64242c libsyntax: Stop parsing structural record types 2013-03-07 22:32:52 -08:00
Patrick Walton
6b5d1afeec librustc: Remove "extern mod { ... }" from librustc, librustdoc, and tests. rs=deexterning 2013-03-07 22:32:52 -08:00
Patrick Walton
87e44af2f2 libstd: Remove extern mod { ... } from libstd. rs=deexterning 2013-03-07 22:32:52 -08:00
Patrick Walton
fd271adc75 libcore: Remove extern mod { ... } from libcore. rs=deexterning 2013-03-07 22:32:51 -08:00
bors
ceeccf8aea auto merge of #5281 : ILyoan/rust/master, r=brson
This fixes a problem on compiling test suits for android target.
2013-03-07 22:30:39 -08:00
ILyoan
cc76cb02fb mk: cleanup - minor fixes for android check 2013-03-08 14:45:16 +09:00
bors
88f0a10578 auto merge of #5277 : bstrie/rust/deimpselfstd, r=brson 2013-03-07 19:51:36 -08:00
bors
cfba0c7f99 auto merge of #5276 : ILyoan/rust/master, r=brson
Patch for libuv android
r? @brson
2013-03-07 19:00:38 -08:00
Brian Anderson
dd4d45062d Make debug!, etc. macros not require a format string
The one thing `log` can still do is polymorphically log anything,
but debug!, etc. require a format string. With this patch
you can equivalently write `debug!(foo)` or `debug!("%?", foo)`
2013-03-07 18:45:22 -08:00
Ben Striegel
0fed29cfb7 De-implicit-self libstd 2013-03-07 21:11:09 -05:00
ILyoan
7b2285f88c Update uv submodule 2013-03-08 11:02:12 +09:00
bors
c391600760 auto merge of #5273 : jbclements/rust/a040b8005f37b94f3394cc3c6ab7058717830661, r=brson
Replace the custom eq with #[deriving_eq].
2013-03-07 16:36:37 -08:00
John Clements
a040b8005f add deriving_eq for tokens 2013-03-07 14:46:46 -08:00