Jed Davis
122e4a28b8
Don't copy const data to do an autoderef+autoref.
2013-03-09 17:40:59 -08:00
Jed Davis
c929ddde16
Add some tests for const auto-deref.
...
const-autoderef.rs is based on an example from jdm in IRC (but the
quadruple-pointer part is entirely my fault).
2013-03-09 17:40:59 -08:00
Jed Davis
5066bc9ff4
Don't print addr_of(addr_of(e)) as &&e
, which means something else.
2013-03-09 17:40:59 -08:00
Jed Davis
2e29f97423
Make a const translation test match TESTNAME=const
2013-03-09 17:40:59 -08:00
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
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
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
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
Ben Striegel
fdf69dd7b0
Finish de-implicit-selfing everything but the test suite
2013-03-08 19:34:39 -05:00
Daniel Micay
b69fb75348
implement BaseIter for dlist (removing iter-trait)
...
Closes #2827
2013-03-08 18:19:30 -05: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
Daniel Micay
cf9e958fe0
rm obsolete iter-trait/option.rs file
2013-03-08 12:34:43 -05: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
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
88f0a10578
auto merge of #5277 : bstrie/rust/deimpselfstd, r=brson
2013-03-07 19:51:36 -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
John Clements
a040b8005f
add deriving_eq for tokens
2013-03-07 14:46:46 -08:00
Josh Matthews
27668fbfab
Allow casting integers to unsafe pointers in constant expressions.
2013-03-07 15:36:55 -05:00
Josh Matthews
7bb03345cf
Inline constants across crates.
2013-03-07 15:34:52 -05:00
Josh Matthews
50277ec555
Permit casting region pointers to unsafe ones.
2013-03-07 14:48:28 -05:00
Brian Anderson
81e370285f
Merge remote-tracking branch 'brson/cross7'
...
Conflicts:
configure
mk/rt.mk
2013-03-06 23:54:35 -08:00
bors
194c27bcd1
auto merge of #5183 : jld/rust/adt-renovation, r=brson
...
This series of changes moves the representation details of algebraic datatypes (enums, and special cases like structs and tuples and (until they're fully removed) records) from various places around rustc::middle::trans into a single module, to enable future improvements in this area.
r?(@nikomatsakis), and the core developers in general; this seems like a “super-review” kind of change.
2013-03-06 20:57:37 -08:00
Jed Davis
a69ec175f8
GC now-unused imports
2013-03-06 20:41:58 -08:00
Jed Davis
1f9bc64bae
adt.rs renaming: "field" rather than "element"; set_discr -> start_init.
...
This way "field" refers to the abstraction and "element" (as in get_elt,
"get element pointer", etc.) refers to the low-level LLVM operations.
2013-03-06 20:41:58 -08:00
Jed Davis
e13111fc5a
Even more comments for ADT-related interfaces
2013-03-06 20:41:58 -08:00
Jed Davis
6840b48074
trans_cast_to_int is hard to explain; make it trans_get_discr instead.
2013-03-06 20:41:58 -08:00
Jed Davis
8dca7be1df
A little more cosmetic cleanup
2013-03-06 20:41:58 -08:00
Jed Davis
d6acb96c9c
Add lots of comments to adt.rs, and some minor cleanup.
2013-03-06 20:41:58 -08:00