Seo Sanghyeon
5098cf5bd2
ARM C ABI implementation
2013-02-26 20:24:15 +09:00
bors
9616b3d11e
auto merge of #5089 : sanxiyn/rust/llvm-struct, r=pcwalton
...
Note on `struct_elt`: the comment is wrong, it actually dereferences the nth element of LLVM struct type if it is a pointer. That's why `T_ptr` is removed in `callee.rs`.
2013-02-25 18:36:39 -08:00
bors
580df4d997
auto merge of #5084 : oncemoreification/rust/issue-4517, r=brson
...
Patch for #4517
This works for fixed vectors, but I am unclear how slices should be printed, simply '&[...]' or...
e.i. How should regions be printed?
2013-02-25 17:36:40 -08:00
bors
6e5705a877
auto merge of #5072 : youknowone/rust/repeat_count, r=brson
...
Fix issue #3645
2013-02-25 16:18:46 -08:00
Erick Tryzelaar
f14409c528
libsyntax: progress on making syntax::visit vecs_implicitly_copyable-free
2013-02-25 07:49:34 -08:00
Erick Tryzelaar
9ac5262bdf
libsyntax: convert visit to pass ty_params by reference
2013-02-25 07:27:01 -08:00
Erick Tryzelaar
5b9e110eab
libsyntax: Convert ast::attribute_ to store a @meta_item
2013-02-25 06:19:44 -08:00
Jeong YunWon
f0d0b5c116
Report error for non constant vector repeat count
...
Fix issue #3645
2013-02-25 00:21:03 +09:00
oncemoreification
c4ef822dc7
Fix slice printing
2013-02-23 21:46:36 -08:00
Daniel Micay
1afddff97f
remove oldsmallintmap
...
Closes #4738
2013-02-23 01:40:17 -05:00
bors
c316189d15
auto merge of #5081 : brson/rust/pipes, r=pcwalton
...
r?
2013-02-22 11:24:38 -08:00
bors
ba7a870660
auto merge of #5051 : bstrie/rust/deimpself, r=pcwalton
...
With the exception of three places where explicit self ran into borrowing errors. Will try those again once borrowing is refined.
2013-02-22 10:24:43 -08:00
Seo Sanghyeon
ad414dec67
Consolidate codes dealing with LLVM struct type
2013-02-23 01:25:10 +09:00
oncemoreification
4ffff6697b
Fix vector syntax in error messages
2013-02-22 02:19:41 -08:00
Graydon Hoare
0309af458c
Put unique allocs in managed heap when they might contain managed boxes.
2013-02-21 23:01:17 -08:00
Ben Striegel
4a853894fa
De-implicit-self librustc
2013-02-22 01:42:03 -05:00
bors
cec1f38c30
auto merge of #5077 : jbclements/rust/increase-monomorphization-depth-limit, r=catamorphism
...
It appears that using deriving_eq/auto_encode on ASTs bumps up against the "gee this looks like infinite unfolding" limit of 10 in monomorphization. Increasing it to 30 seems to solve this problem for me....
Also, commenting and a few renames.
2013-02-21 19:36:35 -08:00
bors
e7924ce18f
auto merge of #5076 : pcwalton/rust/demuting, r=pcwalton
2013-02-21 18:27:32 -08:00
Brian Anderson
15c0c35352
mk: Split target triples into bulid triple + host triples + target triples
...
For cross compiling to targets that don't want to build a compiler
2013-02-21 17:51:55 -08:00
Brian Anderson
dab6a85230
core: Extract comm from pipes. #4742
2013-02-21 17:36:54 -08:00
Luqman Aden
48c1c3cfc0
librustc: Fix broken test.
2013-02-21 16:40:52 -08:00
John Clements
1869df30a6
bump up limit on monomorphization
2013-02-21 16:18:22 -08:00
Patrick Walton
91479363cc
librustc: Remove all mutable fields from librustc. rs=demuting
2013-02-21 15:45:55 -08:00
Patrick Walton
9c71249b9d
librustc: De-mut trans. rs=demuting
2013-02-21 15:45:55 -08:00
Patrick Walton
553c27c515
librustc: De-mut some of trans
2013-02-21 15:45:55 -08:00
Patrick Walton
cdd6f38220
librustc: De-mut resolve. rs=demuting
2013-02-21 15:44:54 -08:00
Luqman Aden
9ea6a49696
Remove the last bits of structural records from tests/rustc/rusti/rustpkg.
2013-02-21 15:19:40 -08:00
bors
4a5e8c5218
auto merge of #5071 : luqmana/rust/derec, r=pcwalton
...
Rid libsyntax of records and get rid of the last piece in `librustc/front/test.rs`.
2013-02-21 09:20:43 -08:00
bors
c0218fb106
auto merge of #5069 : pcwalton/rust/plussing-2, r=pcwalton
2013-02-21 08:35:12 -08:00
Patrick Walton
c0defda499
librustc: Separate the rest of the trait bounds with +
and stop parsing space-separated ones. rs=plussing
2013-02-21 08:29:48 -08:00
Luqman Aden
b02f5c2090
Get rid of structural records in libsyntax and the last bit in librustc.
2013-02-21 00:19:15 -08:00
bors
41a4151173
auto merge of #5065 : catamorphism/rust/issue-3453, r=catamorphism
...
...because it appears to work now. Removes a FIXME.
2013-02-20 22:36:31 -08:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
Tim Chevalier
ad9c54c631
Merge
2013-02-20 19:09:32 -08:00
Tim Chevalier
f823d83718
Fix vdef pattern
2013-02-20 18:45:50 -08:00
Tim Chevalier
a4403e5cb8
Fix flipped tuple that was causing all that pain
2013-02-20 18:45:50 -08:00
Tim Chevalier
0c3290a217
Merge
2013-02-20 18:45:50 -08:00
Luqman Aden
6282e5da67
librustc: tidy
2013-02-20 18:45:50 -08:00
Luqman Aden
cd82c4566b
librustc: Get rid of structural records save for front/test.rs.
2013-02-20 18:45:50 -08:00
Tim Chevalier
bad4463a6b
rustc: Use position method in check::method
...
...because it appears to work now. Removes a FIXME.
2013-02-20 17:46:01 -08:00
bors
8f8f0ec2c6
auto merge of #5043 : brson/rust/swap, r=brson
...
r?
2013-02-20 16:58:34 -08:00
Brian Anderson
423843e54b
Don't perform swap when src == dst. #5041
2013-02-20 16:18:48 -08:00
bors
62f2b4943a
auto merge of #5046 : sanxiyn/rust/struct-match, r=catamorphism
...
Previously check always succeeded because struct type was derived from the matched expression, not the matched pattern.
Fix #4849 .
2013-02-20 16:08:36 -08:00
bors
db25210244
auto merge of #5044 : thestinger/rust/range, r=pcwalton
...
Closes #4924
There are some more `Load` calls that could use this, so it's not completely done yet.
2013-02-19 19:04:28 -08:00
Daniel Micay
fa6e3b49bf
replace explicit loops with foldr
2013-02-19 21:20:07 -05:00
bors
b88e4f3b9f
auto merge of #5039 : alexcrichton/rust/issue-4875, r=catamorphism
...
It looks like the type for the whole pattern wasn't being written back, so when privacy tried to look it up everything died.
2013-02-19 17:38:29 -08:00
Daniel Micay
12b43b274b
add range assert when loading bools
2013-02-19 20:22:04 -05:00
Daniel Micay
0262e4b138
use range assert when loading enum discriminant
...
Closes #4924
2013-02-19 17:59:24 -05:00
Alex Crichton
cc3fbcee51
Fix for issue 4875
2013-02-19 17:35:02 -05:00
bors
1f956fc3b2
auto merge of #4999 : erickt/rust/incoming, r=brson
...
This patch series is doing a couple things with the ultimate goal of removing `#[allow(vecs_implicitly_copyable)]`, although I'm not quite there yet. The main change is passing around `@~str`s in most places, and using `ref`s in others. As far as I could tell, there are no performance changes with these patches, and all the tests pass on my mac.
2013-02-19 12:24:30 -08:00
Erick Tryzelaar
68746cd4fb
librustc: change driver::session::Session::str_of to return @~str
2013-02-19 10:11:05 -08:00
Erick Tryzelaar
b90ccc9a38
librustc: minor cleanup
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
ae86c03af2
librustc: change check_item_non_camel_case_types to not copy
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
3c0eca7940
librustc: convert creader and cstore to use @~strs
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
a18e7d6656
librustc: minor cleanup
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
53951afe48
librustc: convert lint_dict to take @~strs as keys
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
04334c1ae0
librustc: convert LangItemsCollector::item_refs to take @~str as a key
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
de5fdaf934
convert ast::meta_items to take @~strs
2013-02-19 10:02:52 -08:00
Erick Tryzelaar
a2b754788d
convert syntax::attr to use @~strs
2013-02-19 10:02:51 -08:00
Erick Tryzelaar
27e235b64a
libsyntax and librustc: minor cleanup
2013-02-19 10:02:51 -08:00
Erick Tryzelaar
1a5b8e4aba
libsyntax: change attr:get_attr_name to take a ref
2013-02-19 10:02:51 -08:00
Erick Tryzelaar
e6d84268fa
Change functions from taking ~str to taking &str
2013-02-19 10:02:51 -08:00
Seo Sanghyeon
a29023e9b2
Check type when struct is matched against enum-like pattern
...
Previously check always succeeded because struct type was derived from
the matched expression, not the matched pattern.
2013-02-20 02:44:02 +09:00
Kang Seonghoon
f513c567cb
fix ICE after incorrect number of args in calls
2013-02-20 00:53:54 +09:00
bors
396f911925
auto merge of #5017 : catamorphism/rust/less-copy, r=catamorphism
2013-02-18 22:06:33 -08:00
bors
24603afc93
auto merge of #5010 : youknowone/rust/match_const_typecheck, r=catamorphism
...
Fix of issue #4968
2013-02-18 20:18:34 -08:00
bors
9ba2e65fd6
auto merge of #5004 : luqmana/rust/rename-use-import, r=catamorphism
...
Seems like my previous pull request got lost along the way somehow. So here it is updated.
2013-02-18 17:48:34 -08:00
Tim Chevalier
43dc67b74a
rustc: Less copy in trans, rs=removing copies
2013-02-18 15:53:37 -08:00
bors
1171a214a6
auto merge of #4979 : z0w0/rust/issue-1301, r=catamorphism
2013-02-18 13:50:36 -08:00
Jeong YunWon
092b6114c1
add missing typecheck for const pattern match arm
...
Issue #4968
2013-02-19 00:56:02 +09:00
Luqman Aden
5b5ac331db
Long lines.
2013-02-17 21:53:29 -05:00
Luqman Aden
0f09c106f0
libsyntax: Update view_item_use/import to reflect actual usage
2013-02-17 21:45:00 -05:00
Jed Davis
d009c6330b
Make univariant enums act like structs, so that they're aligned correctly.
...
Consts of such enums are aligned correctly, so we could either misalign
them to match the type_of, or fix the type_of. The latter seems like a
better idea.
2013-02-17 12:20:42 -08:00
bors
9ea05a4d3e
auto merge of #4978 : z0w0/rust/issue-607, r=graydon
2013-02-16 22:39:29 -08:00
Zack Corr
0991437c3b
rustc: Don't copy in add_used_link_args
2013-02-17 14:59:04 +10:00
Seth Pink
60bd4a5385
Removed more capture claueses.
2013-02-17 12:41:45 +10:00
bors
945ac428b8
auto merge of #4977 : z0w0/rust/endianattr, r=catamorphism
...
```rust
#[cfg(target_endian = "little")]
fn something() { /* .. */ }
#[cfg(target_endian = "big")]
fn something() { /* .. */ }
```
2013-02-16 13:59:24 -08:00
Patrick Walton
548c0982ca
librustc: Remove simplify_type
and replace with sizing_type_of
. rs=blocking-servo
...
`simplify_type` was bogus, as there was no way for it to handle enums
properly. It was also slow, because it created many Rust types at runtime. In
general creating Rust types during trans is a source of slowness, and I'd like
to avoid doing it as much as possible. (It is probably not possible to
eliminate it entirely, due to `subst`, but we should get rid of as much of it
as we can.) So this patch replaces `simplify_type` with `sizing_type_of`,
which creates a size-equivalent LLVM type directly without going through a
Rust type first.
Because this is causing an ICE in Servo, I'm rubber stamping it.
2013-02-16 10:20:52 -08:00
Zack Corr
19eb225bc2
Support link_args at the crate level. Closes #1301
2013-02-17 01:21:56 +10:00
Zack Corr
fe9f1d155a
syntax: Implement recursive sorting of meta items. Closes #607
2013-02-17 00:31:57 +10:00
Zack Corr
0e83102219
Add target_endian crate cfg. Closes #4367
2013-02-16 22:42:00 +10:00
Zack Corr
7079441843
rustpkg: Add preliminary imperative API support
2013-02-15 18:04:10 -08:00
Zack Corr
621c791ded
Rename cargo to rustpkg and start over fresh
2013-02-15 18:04:10 -08:00
Patrick Walton
bb833ca0f0
librustc: Stop parsing impl Type : Trait
and fix several declarations that slipped through. r=tjc
2013-02-15 16:59:56 -08:00
bors
566bcf2225
auto merge of #4969 : nickdesaulniers/rust/issue3869, r=brson
...
Issue #3869
review? @nikomatsakis
Convert all uses of vec::slice to vec::view Issue #3869
Rename const_view to const_slice
Renamed mut_view to mut_slice
Fix windows build error. `buf` is borrowed by the call to
`as_mut_buf()` and so we must invoke `slice()` outside of that
call.
2013-02-15 13:54:49 -08:00
Luqman Aden
178882c98f
tests/tutorials: Get rid of move
.
2013-02-15 02:49:55 -08:00
Luqman Aden
99b3c07b4e
librustc: Get rid of move
.
2013-02-15 02:49:55 -08:00
bors
9727008ed0
auto merge of #4944 : catamorphism/rust/xxx-to-fixme, r=catamorphism
2013-02-14 23:11:13 -08:00
Tim Chevalier
3201c6fe3f
rustc: De-XXX resolve and borrowck...
...
and remove an un-needed hashmap from resolve
2013-02-14 23:08:18 -08:00
bors
af2f0ef088
auto merge of #4927 : sanxiyn/rust/remove-dvec, r=catamorphism
2013-02-14 17:23:18 -08:00
Nick Desaulniers
5d62a4a52e
Convert all uses of vec::slice to vec::view Issue #3869
...
Rename const_view to const_slice
Renamed mut_view to mut_slice
2013-02-14 16:14:32 -08:00
Patrick Walton
9143688197
librustc: Replace impl Type : Trait
with impl Trait for Type
. rs=implflipping
2013-02-14 14:44:12 -08:00
Daniel Micay
762ce323c0
stop applying noinline to glue code
2013-02-14 14:48:34 -05:00
Seo Sanghyeon
ae38935ff3
Remove DVec from check_const
2013-02-14 22:36:56 +09:00
bors
6efa3543a8
auto merge of #4922 : jbclements/rust/add-deriving-eq-to-asts, r=catamorphism
...
r?
Apply deriving_eq to the data structures in ast.rs, and get rid of the custom definitions of eq that were everywhere. resulting ast.rs is about 400 lines shorter.
Also: add a few test cases and a bunch of comments.
Also: change ast_ty_to_ty_cache to use node ids rather than ast::ty's. I believe this was a suggestion related to my changes, and it appears to pass all tests.
Also: tiny doc fix, remove references to crate keywords.
2013-02-13 18:49:29 -08:00
Nick Desaulniers
4445b38df2
Remove die!, raplace invocations with fail! Issue #4524 pt 3
2013-02-13 17:01:32 -08:00
bors
d5bf3b85d1
auto merge of #4908 : bstrie/rust/rimov3, r=pcwalton
...
This patch finishes removing inner vector mutability from the vast majority of the compiler. Exceptions:
* core::dvec: ideally this entire type will be able to be replaced by `~[]`, but Niko asked me to hold off on removing Dvecs until he makes some fixes to borrowed pointers.
* liveness: liveness.rs is an impenetrable neutron star of deprecated semantics.
* compile-fail: I'm not sure if a lot of these tests are testing inner mutability or mutability in general. I figure that RIMOVing this folder should wait until this syntax is removed from the parser.
I also took this chance to remove many of the inner-mutability-related functions from core::vec, or as many uses of those functions as possible where still necessary. consume_mut and append_mut have been axed. cast_to_mut and cast_from_mut are still needed in a few places.
2013-02-13 15:09:07 -08:00
John Clements
16da4e15af
use node_id for indexing in ast_to_ty_cache
2013-02-13 15:08:27 -08:00
Graydon Hoare
e5aa399e0d
rustc and std: teach about #[bench], modernize to use quote_expr! some.
2013-02-13 11:46:25 -08:00
Ben Striegel
e6c82c0375
RIMOV core::vec
...
Also remove as many uses as possible of vec::cast_to_mut and
cast_from_mut
2013-02-13 12:48:24 -05:00
Ben Striegel
e58c812f77
Partially de-vec-mut librustc
2013-02-13 12:47:43 -05:00
Patrick Walton
e07623d70b
librustc: Make monomorphic newtype structs work cross-crate
2013-02-13 09:47:20 -08:00
bors
27b3e01377
auto merge of #4914 : nikomatsakis/rust/issue-4856, r=nikomatsakis
...
and then adjust code to match. rs=unsound (will review post-landing)
rs=unsound
2013-02-12 20:40:19 -08:00
Niko Matsakis
ab2534974c
Adjust borrow checker algorithm to address #4856 unsoundness,
...
and then adjust code to match. rs=unsound (will review post-landing)
2013-02-12 20:10:50 -08:00
Patrick Walton
a165f88272
librustc: Speed up moves a lot. r=nmatsakis
2013-02-12 16:16:23 -08:00
Graydon Hoare
1d82d8dd5d
Revert "librustc: Make monomorphic newtype structs work cross-crate"
...
This reverts commit a8f039a085
.
2013-02-12 09:02:17 -08:00
Patrick Walton
a8f039a085
librustc: Make monomorphic newtype structs work cross-crate
2013-02-11 20:09:11 -08:00
Jed Davis
3742b62f64
Omit discriminant from nullary univariant enums.
...
If an enum is isomorphic to unit, there's no need to use any bits to
represent it. The only obvious reason this wasn't the case was because
the enum could be C-like and have a user-specified discriminant -- but
that value is constant, so it doesn't need to be stored.
This change means that all newtype-like enums have the same size (and
layout) as their underlying type, which might be a useful property to
have, at least in terms of making programs' low-level behavior less
surprising.
2013-02-09 22:28:43 -08:00
bors
d6442e97a5
auto merge of #4854 : thestinger/rust/oldmap, r=catamorphism
2013-02-09 15:02:51 -08:00
bors
d90abd5879
auto merge of #4848 : nikomatsakis/rust/issue-4821-bad-kind-computation, r=catamorphism
...
...ear
values to be copied. Rewrite kind computation so that instead of directly
computing the kind it computes what kinds of values are present in the type,
and then derive kinds based on that. I find this easier to think about.
Fixes #4821 .
r? @catamorphism
2013-02-09 10:20:55 -08:00
Daniel Micay
4e6994dbfa
librustc/back/rpath.rs: oldmap -> LinearSet
2013-02-08 21:22:54 -05:00
Daniel Micay
a32c5c73ee
oldmap: get rid of legacy _ref suffixes
2013-02-08 19:12:51 -05:00
Niko Matsakis
a380df809c
Fix subtle error in caching during kind computation that could cause linear
...
values to be copied. Rewrite kind computation so that instead of directly
computing the kind it computes what kinds of values are present in the type,
and then derive kinds based on that. I find this easier to think about.
Fixes #4821 .
2013-02-08 07:20:39 -08:00
Jed Davis
9318babf6c
Fix const array index limit calculation.
...
The number of operands of the LLVM node initializing the array
underlying a const vector isn't always the array length -- if the
array is of a sufficiently primitive type and all the elements' values
are known (or something like that), LLVM uses a specialized Constant
subclass that stores the data packed, and thus has no operands. Oops.
But, because llsize_of now gives us a ConstantInt, we can just fix
mozilla/rust#3169 and this all goes away.
2013-02-08 01:52:55 -08:00
Jed Davis
dd7a81d025
Let llsize_of be a ConstantInt
2013-02-08 01:52:47 -08:00
bors
e8fc4b347d
auto merge of #4834 : veddan/rust/zflags, r=graydon
...
Converted --static, --gc, --jit, -g and --xg to -Z flags.
2013-02-07 19:50:03 -08:00
Jed Davis
e89d9853a6
Fix vector indexing in consts so it works with the enum vector const fix.
2013-02-07 18:31:12 -08:00
Jed Davis
de8dc02634
Make tuple-like structs containing enums work as constants.
2013-02-07 18:31:12 -08:00
Jed Davis
30aae3d910
Fix const enum type issues for structs.
2013-02-07 18:31:12 -08:00
Jed Davis
29b99669dc
Fix pointer consts to work with enums
2013-02-07 18:28:31 -08:00
Jed Davis
9ad616a102
Make vectors of enums work as constants
2013-02-07 18:28:11 -08:00
Jed Davis
6cdc283415
Also need to pad out "C-like" enum consts (paths as well as calls).
2013-02-07 17:57:02 -08:00
Jed Davis
877fc8d891
Pad out enum consts to the expected size; makes enums in tuples work.
...
This is wasted space if the const is just an enum, but optimizing that
case without breaking everything else is an issue that can be addressed
separately.
2013-02-07 17:57:02 -08:00
Jed Davis
52cf61fd3b
Fix const enums better: let them have the same alignment as an "opaque enum".
2013-02-07 17:57:02 -08:00
Patrick Walton
472797b04a
librustc: Lots of de-muting. rs=demuting
2013-02-07 16:17:39 -08:00
Viktor Dahl
fae8fc94dc
Added a few missing 'pub's
2013-02-08 00:57:31 +01:00
bors
2bc9655bc1
auto merge of #4803 : alexcrichton/rust/fix-unused-imports, r=graydon
...
The first commit message has most of the comments, but this pull request basically fixes a lot of issues surrounding the `unused_imports` warning/deny attribute.
Before this patch there were these problems:
1. Unused imports from `prelude.rs` were warned about with dummy spans, leading to a large number of confusing warnings.
2. Unused imports from `intrinsic.rs` were warned about with the file `<intrinsic>` which couldn't be forced to go away
3. Methods used from imported traites (like `io::WriterUtil`) resulted in an unused warning of the import even though it was used.
4. If one `use` statement imported N modules, M of which weren't used, M warning statements were issued.
5. If a glob import statement was used, each public export of the target module which wasn't used had a warning issued.
This patch deals with all these cases by doing:
1. Ignore unused imports from `prelude.rs` (indicated by a dummy span of 0)
2. Ignore unused imports from `intrinsic.rs` (test on the imported module name, is there a better way?)
3. Track when imported modules are used as candidates for methods, and just assume they're used. This may not end up being the actual case, but in theory not warning about an unused thing is worse than warning about a used thing.
4. Only issue one warning statement
5. Only issue one warning statement.
This is the first time I've edited the compiler itself, and I tried to keep up with the style around, but I may have missed something here or there...
2013-02-07 15:20:16 -08:00
Viktor Dahl
b8943474dc
Moved experimental compiler flags to -Z ( #4740 )
2013-02-08 00:18:23 +01:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
bors
82d7396333
auto merge of #4823 : pcwalton/rust/enum-variant-discriminants, r=graydon
...
r? @graydon
2013-02-07 04:02:51 -08:00
bors
f13ea4121e
auto merge of #4795 : catamorphism/rust/less-copy, r=catamorphism
2013-02-06 17:06:15 -08:00
Patrick Walton
cf6c3d96fb
librustc: Attempt to put out burning tree by fixing translation of unary negation in boolean constants. rs=burningtree
2013-02-06 15:38:23 -08:00
Patrick Walton
6d13c90256
librustc: Stop loading enum variant discriminants from memory
2013-02-06 15:08:33 -08:00
Patrick Walton
b34f871dda
librustc: Change i1 to i8 for bools. Attempts to put out burning tree. rs=burningtree
2013-02-06 14:28:02 -08:00
Tim Chevalier
739e5ba369
rustc: Less copy
2013-02-06 12:09:11 -08:00
Patrick Walton
801f3225b2
oldmap: use &K instead of K in find and get
...
This reverts commit a4250a96fd
.
This is not the cause of the nonexhaustive-match failure.
2013-02-05 19:41:45 -08:00
Graydon Hoare
a4250a96fd
Revert "oldmap: use &K instead of K in find and get"
...
This reverts commit 8e643525d4
.
2013-02-05 14:30:53 -08:00
Alex Crichton
b368cb2341
Don't warn when imported traits are indeed used
2013-02-05 12:41:19 -05:00
Alex Crichton
6a4483ec7a
Fix some bugs with -W unused-imports
...
1. Don't warn about anything not used in the prelude which is autmoatically
injected, accomplished with a test that the span is equal to a dummy span.
2. Don't warn about unused imports from the injected intrinsic module,
accomplished by testing against the name of the imported module
3. If anything is used from a glob import, don't warn about the glob import.
4. If an import imports more than one thing, and none of them are used, only
issue a warning once
Also updated the unused-imports-warn test to have stricter requirements on
error messages.
2013-02-05 12:40:59 -05:00
bors
52817092a9
auto merge of #4747 : sanxiyn/rust/integral-type, r=graydon
...
`ty::type_is_integral` returns `true` for `ty_bool`. This causes `-true` to compile, instead of resulting in a type error.
2013-02-04 19:59:06 -08:00
bors
bffe3088c7
auto merge of pull req #4777 from thestinger/rust, r=graydon
2013-02-04 17:24:40 -08:00
bors
3c6b9c2363
automated merge
2013-02-04 15:39:10 -08:00
Seo Sanghyeon
6d5428cb4e
Let type_is_integral return false for bool type
2013-02-04 23:01:47 +09:00
ILyoan
6105f09cc1
Use x86-64 CABI for foreign function on arm target
2013-02-04 19:30:17 +09:00
Erick Tryzelaar
9adfa59d8e
core: convert ToStr::to_str to take explicit &self
2013-02-03 20:47:26 -08:00
Daniel Micay
8e643525d4
oldmap: use &K instead of K in find and get
2013-02-03 23:30:56 -05:00
Brian Anderson
3b396d17d6
Merge remote-tracking branch 'thestinger/old_map' into incoming
...
Conflicts:
src/test/bench/core-map.rs
2013-02-03 17:56:49 -08:00
Patrick Walton
04eb9b4eb0
librustc: Fix bugs regarding to impl privacy. rs=bugfix
2013-02-03 17:50:27 -08:00
Marvin Löbel
eb19462104
Converted libcore/uint-template.rs to the new string functions.
...
- Moved ToStr implementation of unsigned integers to uint-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added uint-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Marvin Löbel
26e72bf92b
Converted libcore/int-template.rs to the new string functions.
...
- Moved ToStr implementation of integers to int-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added int-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Daniel Micay
4fd9264875
oldmap: &K instead of K for the remove parameter
2013-02-03 18:20:59 -05:00
Daniel Micay
81b4f36d49
oldmap: remove legacy each method
2013-02-03 15:55:11 -05:00
Daniel Micay
2e496818a5
oldmap: get rid of the legacy each_key method
2013-02-03 15:55:10 -05:00
Daniel Micay
88d9d417a1
oldmap: remove the legacy each_value method
2013-02-03 15:55:10 -05:00
Daniel Micay
1b4eb145f9
oldmap: implement core::container::Container
2013-02-03 15:55:10 -05:00
Daniel Micay
f4a27b2c7d
oldmap: get rid of the legacy contains_key method
2013-02-03 15:55:10 -05:00
Daniel Micay
319eeb1c79
rename map -> oldmap and mark it as deprecated
...
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Brian Anderson
9dc6938292
Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1
2013-02-01 11:18:58 -08:00
Nick Desaulniers
7868b6bf55
Remove fail keyword from lexer & parser and clean up remaining calls to
...
fail
Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
John Clements
a2839246be
cleanup for make check
2013-01-31 23:05:12 -08:00
John Clements
53688addaa
test cases, cleanup
2013-01-31 23:05:12 -08:00
Nick Desaulniers
6fb4239bb3
Replace most invocations of fail keyword with die! macro
2013-01-31 22:25:12 -08:00
Daniel Micay
70855f5a07
move smallintmap to oldsmallintmap
2013-01-31 23:13:56 -05:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -08:00
Tim Chevalier
2db3175c76
rustc: Stamp out XXXes in middle (comments only)
2013-01-31 19:48:43 -08:00
Brian Anderson
9673005afe
Merge pull request #4703 from sanxiyn/remove-tps
...
Remove `tps` from `trans_enum_def` and `trans_struct_def`
2013-01-31 16:59:47 -08:00
Niko Matsakis
71478f9ce3
Workaround for #4717 : pad contents of ast. rs=breakage
2013-01-31 16:56:12 -08:00
Niko Matsakis
0682ad0eb9
Finalize moves-based-on-type implementation.
...
Changes:
- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
(though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
(see details below)
Future work (I'll open bugs for these...):
- Improve error messages for moves that are due
to bindings
- Add support for moving owned content like a.b.c
to borrow check, test in trans (but I think it'll
"just work")
- Proper fix for def-ids in params
Def ids in params:
Move captures into a map instead of recomputing.
This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining. I am
not sure of my preferred fix for the larger bug yet. This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
Seo Sanghyeon
0d1058a62e
Remove tps
from trans_enum_def
and trans_struct_def
2013-01-31 17:12:33 +09:00
Patrick Walton
366812a5c3
librustc: Change self
as a type to Self
everywhere. r=brson
2013-01-30 19:52:45 -08:00
Patrick Walton
49472ec4c9
librustc: Remove legacy exports from the language. r=brson
2013-01-30 18:11:43 -08:00
Graydon Hoare
4030aaff20
rustc: make integral type inference transactional, close #3211 , close #4401 , close #3398 .
2013-01-30 16:21:19 -08:00
Patrick Walton
d2e1bfb123
librustc: Long line. rs=burning
2013-01-30 14:30:42 -08:00
Patrick Walton
ae50912875
librustc: De-export rustc. rs=deexporting
2013-01-30 13:44:24 -08:00
Patrick Walton
cc9999c609
librustc: De-record the type context. rs=derecordification
2013-01-30 13:14:58 -08:00
Patrick Walton
684aa2b7fd
librustc: De-export ty. rs=deexporting
2013-01-30 12:18:08 -08:00
Patrick Walton
ba11e96289
librustc: De-export trans. rs=deexporting
2013-01-30 11:47:02 -08:00
Brian Anderson
7ad0716275
rustc: Convert to pipes
2013-01-30 01:52:01 -08:00
Patrick Walton
28ed9dc09e
librustc: Long lines. rs=burning
2013-01-29 22:40:13 -08:00
Patrick Walton
0c1d9befb3
librustc: Speed up byte copy operations. r=nmatsakis
2013-01-29 22:15:06 -08:00
Patrick Walton
97c593a1ce
librustc: Stop zeroing out allocas so much. Cuts 300K off librustc.
2013-01-29 22:14:08 -08:00
Patrick Walton
1b613ff9fc
librustc: Strdup unique strings instead of copying in byte by byte. Shaves 2MB off librustc at -O0.
2013-01-29 22:14:08 -08:00
Patrick Walton
a47fa9b32f
librustc: De-export some of trans. rs=deexporting
2013-01-29 22:14:08 -08:00
Tim Chevalier
a30ea013f5
Handle supertrait calls in default methods
...
Add a new method_super origin for supertrait methods. Also make
coherence create a table that maps pairs of trait IDs and self types
to impl IDs, so that it's possible to check a supertrait method
knowing only its index in its trait's methods (without knowing all
supertraits for a given trait).
r=nmatsakis and graydon -- with hope, we'll revamp all of this code as
per #4678 , but for now this fixes the bug.
Closes #3979
2013-01-29 20:33:22 -08:00
Patrick Walton
464ec27fd3
librustc: De-export metadata. rs=deexporting
2013-01-29 16:51:16 -08:00
Patrick Walton
bae4821851
librustc: De-export typeck. rs=deexporting
2013-01-29 16:26:16 -08:00
Patrick Walton
c25703ccb8
librustc: De-export front, borrowck, and typeck/check. rs=deexporting
2013-01-29 16:05:13 -08:00
Patrick Walton
2ea2628ca9
librustc: De-export back, lib, and util. rs=deexporting
2013-01-29 15:48:50 -08:00
Patrick Walton
3105bcfdc1
librustc: De-export driver. rs=deexport
2013-01-29 15:16:43 -08:00
Patrick Walton
226cd68f13
librustc: De-implicit-self the visitor. r=graydon
2013-01-29 10:43:12 -08:00
Patrick Walton
6ce74460e6
librustc: Disallow trait bounds in types, enumerations, and structure definitions. r=tjc
2013-01-29 10:42:58 -08:00
Patrick Walton
eb4d39e1fe
libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
...
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.
This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Tim Chevalier
15871a7458
rustc: Check struct field types when heap memory lint checks are enabled
2013-01-28 19:41:56 -08:00
Tim Chevalier
31d78b2f07
Add #[legacy_records] crate attribute
...
In rustc, rustdoc, rusti, syntax, and std.
2013-01-28 19:41:56 -08:00
Tim Chevalier
6cbccc92b7
rustc: In lint, forbid structural records unless legacy_records is on
2013-01-28 19:41:55 -08:00
Tim Chevalier
db6af50d53
rustc: Add legacy_records field to the type context
2013-01-28 19:41:55 -08:00
Niko Matsakis
ef4c060594
Address @catamorphism's comments regarding docs
2013-01-28 10:01:59 -08:00
Niko Matsakis
4b15bfde81
loan: Track whether or not the current path owns the data being
...
lent. We can be more liberal with respect to the scope of the loan
if we do not own the data being lent, which used to be impossible
but can now occur with `&mut`.
r=pcwalton
2013-01-28 10:01:59 -08:00
Niko Matsakis
b4acde3bf7
remove unused variable
2013-01-28 10:01:59 -08:00
Niko Matsakis
e6cadc4c03
remove hacks now that #3148 is fixed
...
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
2b67d88809
Rewrite the coercion code to be more readable, more sound, and to reborrow when
...
needed.
Regarding soundness: there was a subtle bug in how it was done before; see the
compile-fail test for an example.
Regarding reborrowing: reborrowing allows mut and const
slices/borrowed-pointers to be used with pure fns that expect immutable data.
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
c07ae16de1
rename assign to coerce, remove some bad copies
...
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
05b6df49b8
Refactor to make inference code around unification more readable
...
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
923b3154c6
Do not try to encode/decode inference types, should not be necessary
...
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
a4ba11189d
Extend region guarantor logic to handle autoref, which will
...
be necessary for reborrowing.
r=catamorphism
2013-01-28 10:00:41 -08:00
Niko Matsakis
2e10ea58c3
Integrate vec patterns into borrow checker.
...
The tail portion of the pattern effectively borrows a vector,
but the borrow checker knew nothing about this.
r=catamorphism
2013-01-28 10:00:32 -08:00
Niko Matsakis
d4fd30c6ac
Link the lifetimes of regions resulting from borrows of the
...
contents of other borrowed pointers to the lifetimes of the
borrowed value. Fixes #3148 .
r=catamorphism
2013-01-28 10:00:23 -08:00
Tim Chevalier
2c78169508
Merge pull request #4644 from martica/camel-case-option
...
Update more uses of Option, Some and None to camel case
2013-01-25 19:21:16 -08:00
Tim Chevalier
41adf9d8ef
rustc: Make build_wrap_ret compile on Windows and unrevert ABI patch
...
This reverts commit 625405562c
.
2013-01-25 18:57:01 -08:00
Tyler Bindon
633b40f75d
Fix Option camel case in debug messages
2013-01-25 19:42:23 -07:00
Tyler Bindon
3a5d2cdbf3
Fix Option camel case in comments
2013-01-25 19:42:23 -07:00
Tyler Bindon
7ff7489dc6
Fix Option camel case in error message
2013-01-25 19:42:23 -07:00
Tim Chevalier
85a34c2898
Merge pull request #4625 from thestinger/container
...
more little container improvements
2013-01-25 11:57:51 -08:00
Tim Chevalier
e3daab7051
rustc: Address an XXX in middle::mode
2013-01-24 21:12:44 -08:00
Tim Chevalier
cff4f1476e
rustc: Less copy
2013-01-24 20:42:21 -08:00
Daniel Micay
e4337a9def
remove remaining is_not_empty functions/methods
2013-01-24 23:24:57 -05:00
Daniel Micay
d95c9cbe38
replace ConstVector trait with the Container trait
2013-01-24 23:02:44 -05:00
Tim Chevalier
c3f4f654eb
comments: Convert XXXes to FIXMEs
2013-01-24 18:49:51 -08:00
Tim Chevalier
9898485d4f
Merge pull request #4613 from erickt/incoming
...
convert most of libcore and libstd to structs, work around tzset race
2013-01-24 17:24:45 -08:00
Tim Chevalier
f19e16881e
syntax/rustc: Less copy
2013-01-24 16:45:20 -08:00
Erick Tryzelaar
e84576b888
convert most of libstd over to structs
2013-01-24 16:24:31 -08:00
Tim Chevalier
5ff6beed60
rustc: One Less Bad Copy
2013-01-24 15:24:01 -08:00
Patrick Walton
ad25e208ee
librustc: Allow &mut
to be loaned; allow self
to be loaned; make &mut
loanable to &
. r=nmatsakis
2013-01-24 13:52:22 -08:00
Patrick Walton
bbbb80559c
librustc: Disallow &mut
loans from overlapping with any other loans
2013-01-24 13:52:21 -08:00
Patrick Walton
163b97b7bb
librustc: Make C functions unsafe
2013-01-24 13:52:21 -08:00
Tim Chevalier
f3ec278e46
Merge pull request #4609 from sonwow/keyword-super
...
Make `super` a keyword
2013-01-24 11:17:52 -08:00
Tim Chevalier
25f9fa0359
Merge pull request #4608 from ILyoan/entry_android
...
export entry point for android
2013-01-24 11:16:05 -08:00
Tim Chevalier
ce954d117f
Merge pull request #4611 from ILyoan/i4482_more
...
Remove unnecessary code
2013-01-24 11:15:13 -08:00
Tim Chevalier
5b64c796a4
syntax/rustc: Improve error message for misuse of for
loop
...
Print out a clearer error message when a `for` gets
used with the wrong type of iterator. Also fix spans on `for` loop
bodies, and suppress some more derived errors.
r=brson
Closes #3651
2013-01-24 11:04:54 -08:00
ILyoan
ce85837557
remove unnecessary code
2013-01-24 19:03:49 +09:00
Youngsoo Son
4b2aa286d8
Make super
a keyword
2013-01-24 16:07:04 +09:00
ILyoan
718a0fcdc1
export entry point for android
2013-01-24 15:07:14 +09:00
Tim Chevalier
625405562c
Revert "Merge pull request #4590 from crabtw/abi"
...
This reverts commit e4e5d986fa
, reversing
changes made to ab8d77474c
.
2013-01-23 20:38:20 -08:00
Tim Chevalier
a202dcccca
Merge pull request #4594 from thestinger/map
...
more work on the map trait and TreeMap/LinearMap
2013-01-23 20:10:47 -08:00
Jyun-Yan You
b72d4d70a8
add ABIInfo trait and separate x86-64 ABI implementation from foreign trans
...
ABIInfo provides a method to translate the type of foreign function.
The foreign trans uses the method to get ABI-specific type and
uses the result to generate LLVM instructions for wrapper and shim functions.
2013-01-24 09:31:28 +08:00
Graydon Hoare
cb1f957f71
rustc: fix const enums to be packed, r=burningtree.
2013-01-23 16:25:57 -08:00
Patrick Walton
4f88ed36a1
librustc: Remove obsolete FIXME in item collection. rs=comments-only
2013-01-23 15:17:13 -08:00
Tim Chevalier
ab13beb05a
Merge pull request #4587 from sanxiyn/divide-by-zero
...
Handle divide by zero in constant evaluator
2013-01-23 14:56:07 -08:00
Patrick Walton
54b2cad8b3
libsyntax: Remove fn() unsafe { ... }
. r=graydon
2013-01-23 14:41:08 -08:00
Daniel Micay
b7ef28c33a
rename send_map to hashmap
...
This makes the module much more discoverable, and is in line with the
'treemap' naming.
2013-01-23 14:25:01 -05:00
Tim Chevalier
995ccc0d82
Merge pull request #4596 from Trinick/tomutrename
...
core: Rename to_mut and from_mut to cast_to_mut and cast_from_mut
2013-01-23 10:56:08 -08:00
Trinick
9dc8e96c5f
core: Rename to_mut and from_mut to cast_to_mut and cast_from_mut
2013-01-23 10:09:45 +00:00
Seo Sanghyeon
800b8a759d
Implement mut
in arguments
2013-01-22 23:34:34 -08:00
Seo Sanghyeon
d10b5c725b
Add is_mutbl field to def_arg
2013-01-22 23:34:34 -08:00
Seo Sanghyeon
9a5d617092
Add is_mutbl field to arg
2013-01-22 23:34:33 -08:00
Seo Sanghyeon
3ed39ce26f
Handle divide by zero in constant evaluator
2013-01-23 15:07:00 +09:00
Daniel Micay
9cdcd9bff9
migrate gather_loans.rs to LinearSet
2013-01-22 22:10:04 -05:00
Daniel Micay
342cb602db
migrate coherence.rs to LinearSet
2013-01-22 22:10:00 -05:00
Graydon Hoare
bcaeb20800
long line police
2013-01-22 17:53:27 -08:00
Josh Matthews
72259e0772
Translate const references to extern functions as *i8 instead of the typical closure pair. Fixes #4522 .
2013-01-22 16:22:55 -08:00
Tim Chevalier
9d672671e2
Make borrowck's notion of scopes consistent with trans's notion of scopes
...
This eliminates an ICE in trans where the scope for a particular
borrow was a statement ID, but the code in trans that does cleanups
wasn't finding the block with that scope. As per #3860
preserve looks at a node ID to see if it's for a statement -- if it
is, it uses the enclosing scope instead when updating the map that
trans looks at later.
I added a comment noting that this is not the best fix (since it may
cause boxes to be frozen for longer than necessary) and referring
to #3511 .
r=nmatsakis
2013-01-22 15:59:45 -08:00
Tim Chevalier
10260bee38
Change debuginfo to not use an option for the output type...
...
...now without a random libuv change.
2013-01-22 15:13:23 -08:00
Tim Chevalier
a36eacc4f9
Revert "Clean up previous commit to not require an Option"
...
I made a mistake and included some submodule weirdness.
About to re-push the patch without that.
This reverts commit 17ea548275
.
2013-01-22 15:12:35 -08:00
Tim Chevalier
17ea548275
Clean up previous commit to not require an Option
2013-01-22 14:28:05 -08:00
Josh Matthews
5b4e569bf3
Fix building of all rustc components with -g.
2013-01-22 14:27:21 -08:00
Tim Chevalier
a8d076d2de
syntax/rustc: Make some metadata-related functions take slices, kill bad copies
...
Too small to review.
2013-01-22 11:58:08 -08:00
Tim Chevalier
8869e72386
Simplify path_entry's closure argument
...
Make the closure take two arguments instead of a single `path_entry`
struct; remove the `path_entry` type. This eliminates a bad copy.
2013-01-22 11:06:54 -08:00
Tim Chevalier
d3bb4990dd
rustc: Make metadata::encoder::encode_path take an &path
...
Eliminates some bad copies.
2013-01-21 20:39:58 -08:00
Tim Chevalier
01f26249bb
rustc: Print out region errors involving a function scope properly
2013-01-20 19:51:33 -08:00
Tim Chevalier
bc5dd2f557
rustc: Suppress more derived errors
2013-01-20 15:13:29 -08:00
Erick Tryzelaar
7f2c399f3a
Convert many libsyntax records into structs
...
Specifically:
ast_map::ctx
ast_util::id_range
diagnostic::{handler_t,codemap_t}
auto_encode::field
ext::base::{macro_def,syntax_expander_tt,syntax_expander_tt_item}
ext::pipes::proto::next_state
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
28da4ecdaa
convert librustc record types to structs
...
specifically:
freevars::freevar_entry
ty::{field_ty,AutoAdjustment,AutoRef}
mod::{method_param,method_map_entry}
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
d5d77b9351
convert the remaining ast record types into structs
...
These are: region,arg,fn_decl,method,_mod,foreign_mod,
variant_arg,enum_def_,variant_,trait_ref.
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
8cdc3fda11
convert ast::ty into a struct
2013-01-20 14:08:18 -08:00
Erick Tryzelaar
8a3a1fc148
convert ast::expr into a struct
2013-01-20 14:08:18 -08:00
Tim Chevalier
96b4f43675
Handle region errors where the actual scope is a statement
...
Prevents a case of "unknown scope, this is a bug".
I judged this too small to review. Closes #4500
2013-01-19 17:06:36 -08:00
Tim Chevalier
97b20f8e02
rustc: Make type_names and named_types tables in trans use @str instead of ~str
...
Cuts down on bad copies (though there are still a few that can go
away once there are impls of push / append / + for @str)
2013-01-18 14:30:29 -08:00
Tim Chevalier
9c1476e7a4
Comments: turn XXXes into FIXMEs
2013-01-18 14:21:31 -08:00
Brian Anderson
6b6acde972
Add a license check to tidy. #4018
2013-01-17 23:28:42 -08:00
Tim Chevalier
1244c0b6fd
rustc: One Less Bad Copy
2013-01-17 19:17:24 -08:00
Niko Matsakis
440f8dfc4e
Correct tests
...
rs=breakage
2013-01-17 18:45:57 -08:00
Niko Matsakis
532c94d0f1
Propagate expected types through block expressions.
...
r=graydon
2013-01-17 18:45:48 -08:00
Niko Matsakis
9fed56ed90
When decoding types, indicate to the def-id conversion function what kind of
...
def-id we have, so that the inliner can distinguish between external and
internal def-ids. Also add some comments explaining the distinction!
Fixes #4516 .
r=graydon
2013-01-17 18:45:45 -08:00
Patrick Walton
f405e41d7a
librustc: Implement write guards for borrowing @mut
to &
or &mut
. r=nmatsakis
2013-01-17 11:50:20 -08:00
Tim Chevalier
8bde2c1d65
Minor cleanup and eliminate a bad copy
2013-01-16 19:29:38 -08:00
Patrick Walton
a2ec5400ff
Merge pull request #4493 from jbclements/rename-moved-variable-to-moved-value
...
s/moved variable/moved value/
2013-01-16 12:30:55 -08:00
Graydon Hoare
989667e545
librustc: minor missing change for crate-as-struct.
2013-01-15 17:57:45 -08:00
Graydon Hoare
84825ee310
librustc: Make the default sigil for block lambdas &
instead of @
.
2013-01-15 17:57:45 -08:00
Brian Anderson
bd6536f868
Merge pull request #4497 from ILyoan/i4488
...
When building a test runner, don't remove the main function
2013-01-15 17:27:45 -08:00
ILyoan
a63b11a009
when test, just remove #[main] attr
2013-01-15 17:06:37 +09:00
Erick Tryzelaar
293cd3480c
convert ast::{field_,capture_item_,mt} and middle::ty::mt into structs
2013-01-14 21:36:27 -08:00
Erick Tryzelaar
4bcd19f6be
Convert ast::{pat,field_pat,local_,arm} into structs
2013-01-14 20:52:28 -08:00
Erick Tryzelaar
0b9e23146b
convert ast::crate_ into a struct.
2013-01-14 19:06:59 -08:00
Erick Tryzelaar
4b0f702608
convert ast::attribute_ and ast::view_item to a struct
2013-01-14 18:15:54 -08:00
Erick Tryzelaar
1f5e9ff362
convert ast::struct_def to a struct
2013-01-14 18:15:54 -08:00
Erick Tryzelaar
530a113bfa
convert ast::item into a struct
2013-01-14 18:15:53 -08:00
Erick Tryzelaar
ebea895d02
convert ast::struct_dtor_ into a struct
2013-01-14 18:14:17 -08:00
Erick Tryzelaar
5c0d674a45
convert ast::foreign_item to a struct
2013-01-14 18:14:16 -08:00
Erick Tryzelaar
df7d376d25
Convert ast::def_id into a struct.
2013-01-14 18:14:16 -08:00
Erick Tryzelaar
bea67bde21
Change ast::path into a struct.
2013-01-14 18:14:16 -08:00
John Clements
3bf8b8af98
s/moved variable/moved value/
2013-01-14 17:38:22 -08:00
Tim Chevalier
a4dc65baa1
syntax/rustc: Eliminate some bad copies
...
r=pcwalton
2013-01-14 15:49:53 -08:00
ILyoan
b7cefd0c96
allowing the entry point name to be something other than main
...
add build tests
2013-01-14 13:58:13 -08:00
Brian Anderson
e6b57f858f
Add FIXME's for #4404 . Android JNI hacks
2013-01-13 16:43:39 -08:00
kyeongwoon
987f824f23
Support ARM and Android
...
Conflicts:
src/libcore/os.rs
src/librustc/back/link.rs
src/librustc/driver/driver.rs
src/librustc/metadata/loader.rs
src/librustc/middle/trans/base.rs
2013-01-13 16:43:39 -08:00
Tim Chevalier
fbc33e0247
Merge pull request #4459 from jld/constenum
...
Allow consts to be initialized by non-nullary enum constructors
2013-01-13 14:42:57 -08:00
Jed Davis
1b01629f18
Make vectors (& old ports) of zero-size types allocate one byte each.
2013-01-13 14:37:59 -08:00
Jed Davis
ea53c48ca2
Make empty structs debug-printable
2013-01-13 14:37:59 -08:00
Jed Davis
1b4f3fad1e
Correct (I hope) amd64 ABI handling for empty structs
2013-01-13 14:37:59 -08:00
Jed Davis
cd01ecfe13
One more place where for loops and their bodies need to be unconfused.
2013-01-13 14:37:59 -08:00