Niko Matsakis
d26f6eddfd
Convert region parameterization to change defaults and handle
...
methods correctly
2013-03-06 15:12:58 -05:00
Niko Matsakis
824b9e7dbf
convert FnCtxt methods from @mut self to &self
2013-03-06 15:12:57 -05:00
Niko Matsakis
3168fe06ff
Add manual &self/ and &static/ and /&self declarations that
...
are currently inferred. New rules are coming that will require
them to be explicit. All add some explicit self declarations.
2013-03-06 15:12:57 -05:00
bors
02623871ed
auto merge of #5246 : brson/rust/demode, r=brson
...
r?
2013-03-06 11:51:57 -08:00
Brian Anderson
f1a8b58811
rustc: De-mode some bits of trans
2013-03-06 11:18:34 -08:00
bors
876b6ba792
auto merge of #5253 : nikomatsakis/rust/issue-5243, r=graydon
...
them to be non-monomorphic. Merely having lifetime parameters
is not enough to qualify for that status. Fixes #5243 .
r?
2013-03-06 10:54:58 -08:00
Niko Matsakis
704cd648ac
Fix a bug with region-parameterized enums etc where trans considered
...
them to be non-monomorphic. Merely having lifetime parameters
is not enough to qualify for that status. Fixes #5243 .
2013-03-06 13:01:16 -05:00
Niko Matsakis
6d764cc361
Make object types not implement associated trait. Fixes #5087 .
2013-03-06 11:02:19 -05:00
Niko Matsakis
6267339d68
Fix bug in coherence that causes all cross-crate impls to be regarded as
...
inherent impls, not just those of the `impl Type` variety.
2013-03-06 11:02:19 -05:00
Erick Tryzelaar
743cfce703
core: convert vec::{last,last_opt} to return references
2013-03-05 19:39:18 -08:00
Erick Tryzelaar
a18bf8c67d
rustc: minor code cleanup
2013-03-05 19:37:50 -08:00
Erick Tryzelaar
8f263dd023
rustc: remove some copies
2013-03-05 19:37:05 -08:00
Erick Tryzelaar
d60747a248
core: convert vec::{init,initn} to return references
2013-03-05 19:37:04 -08:00
Erick Tryzelaar
5ae06ae9de
core: convert vec::{tail,tailn} to return references
2013-03-05 19:37:04 -08:00
Patrick Walton
c4075492ad
librustc: Fix silly bug in AST conversion for const vstores. rs=bugfix
...
Means that we'll need another snapshot to rid the language of `[const T]`.
2013-03-05 10:18:36 -08:00
Niko Matsakis
cbfd88a486
Update region inference for traits so that a method with
...
explicit self doesn't incorrectly cause the entire trait to
be tagged as being region-parameterized.
Fixes #5224 .
2013-03-05 08:46:23 -05:00
bors
65986ba0c0
auto merge of #5215 : jld/rust/fn-const-env, r=graydon
...
Fixes #5210 ; unblocks #5183 .
2013-03-05 03:12:43 -08:00
bors
eddefbc893
auto merge of #5212 : thestinger/rust/iter, r=graydon
...
A small step towards fixing #2827
2013-03-05 02:06:50 -08:00
Alex Crichton
cb4ab76e4a
Adding missing imports for tests, and gate off others
2013-03-04 12:27:01 -05:00
Alex Crichton
dfb5c10dea
Remove unused imports throughout src/
2013-03-04 12:27:01 -05:00
Alex Crichton
55461d888f
Change the default level of unused_imports to warn
2013-03-04 12:27:01 -05:00
Jyun-Yan You
c2a61d7df3
rustc: implement MIPS O32 ABI
2013-03-03 20:02:03 -08:00
Jyun-Yan You
5150b9811b
rustc: MIPS32 support
2013-03-03 19:27:27 -08:00
Jed Davis
514fd3efec
Assert that constants are translated with the correct size.
2013-03-03 16:40:44 -08:00
Jed Davis
5f0a123f0d
Construct const fns based on the type, not the definition.
...
Otherwise we can add a null environment when we shouldn't.
Fixes #5210 .
2013-03-03 16:40:41 -08:00
Daniel Micay
af645e8487
replace option::iter with a BaseIter impl
2013-03-03 11:01:17 -05:00
Patrick Walton
ccec510f39
librustc: Stop parsing fn@
, fn~
, and fn&
2013-03-02 18:47:48 -08:00
Patrick Walton
97fd421319
librustc: Remove fn@
, fn~
, and fn&
from librustc. rs=defun
2013-03-02 16:49:31 -08:00
Patrick Walton
a3f728238b
librustc: Forbid chained imports and fix the logic for one-level renaming imports
2013-03-02 16:49:30 -08:00
bors
347d19934d
auto merge of #5198 : youknowone/rust/repeat-count, r=brson
...
Before:
````
test.rs:3:21: 3:30 error: expected constant integer for repeat count but found variable
test.rs:3 let a = ~[0, ..n]; //~ ERROR expected constant integer for repeat count but found variable
^~~~~~~~~
````
After:
````
test.rs:3:27: 3:28 error: expected constant integer for repeat count but found variable
test.rs:3 let a = ~[0, ..n]; //~ ERROR expected constant integer for repeat count but found variable
^
````
2013-03-02 15:33:39 -08:00
Jeong YunWon
b662d3c922
Better highlight for repeat count error
...
Before:
````
test.rs:3:21: 3:30 error: expected constant integer for repeat count but found variable
test.rs:3 let a = ~[0, ..n]; //~ ERROR expected constant integer for repeat count but found variable
^~~~~~~~~
````
After:
````
test.rs:3:27: 3:28 error: expected constant integer for repeat count but found variable
test.rs:3 let a = ~[0, ..n]; //~ ERROR expected constant integer for repeat count but found variable
^
````
2013-03-02 17:44:35 +09:00
Jeong YunWon
7921810842
Allow constant c-like enum to integral/float cast
2013-03-02 16:16:56 +09:00
Erick Tryzelaar
aa3505d8ff
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-03-01 20:35:55 -08:00
Patrick Walton
657c442eca
Merge remote branch 'nmatsakis/parser-perf-problem' into incoming
2013-03-01 18:09:27 -08:00
Niko Matsakis
ca9549bdfc
Avoid calling to_vec() unnecessarily in parser.
...
Also, rename the OptVec-to-vector conversion method to
opt_vec::take_vec() and convert from a method into a fn
because I fear strange bugs.
2013-03-01 19:58:17 -05:00
Patrick Walton
cab8ec242b
librustc: Add missing import. rs=burningtree
2013-03-01 10:43:28 -08:00
Patrick Walton
02a4b5bed3
Merge remote branch 'nmatsakis/issue-4808-representation-of-extern-fn' into incoming
2013-03-01 08:43:36 -08:00
Erick Tryzelaar
85fecd0ba7
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-03-01 07:01:48 -08:00
bors
a660bb362c
auto merge of #5180 : catamorphism/rust/post-snapshot, r=catamorphism
...
* Disallow structural records everywhere
* Remove all #[cfg(stage0)] stuff
* Remove the last deprecated modes in libcore
* Un-xfail a test
2013-02-28 22:45:37 -08:00
Tim Chevalier
6b6d15ac20
Remove code that was awaiting a snapshot
...
* Disallow structural records everywhere
* Remove all #[cfg(stage0)] stuff
* Remove the last deprecated modes in libcore
* Un-xfail a test
2013-02-28 20:30:50 -08:00
Niko Matsakis
4ecb672d7f
Remove legacy object creation mode, and convert remaining uses of it
2013-02-28 20:28:04 -05:00
Alex Crichton
2df07ddc25
Fix implicit leaks of imports throughout libraries
...
Also touch up use of 'pub' and move some tests around so the tested functions
don't have to be 'pub'
2013-02-28 18:00:34 -05:00
Alex Crichton
f2837fa3f5
Fix leaking immediate children and types via glob imports
2013-02-28 17:59:56 -05:00
Alex Crichton
94a07b6e4a
Fix leaking non-public 'use' statements with glob imports
2013-02-28 17:59:56 -05:00
Niko Matsakis
febdb49e92
Change bare functions so that they are represented by a single pointer.
...
The basic idea is that we add a new kind of adjustment, AutoAddEnv, that pads
an extern fn into a closure by adding the extra NULL word. Then there are a few
misc changes in trans to get the LLVM types to match up.
Fixes #4808 .
2013-02-28 16:03:49 -05:00
Patrick Walton
2859c1ac6d
librustc: Enforce cross-crate method privacy
2013-02-28 11:32:26 -08:00
Patrick Walton
09a2b4e599
librustc: Make methods private if the impl is private
2013-02-28 11:32:26 -08:00
Patrick Walton
107bf96ff0
librustc: Mark all type implementations public. rs=impl-publicity
2013-02-28 11:32:24 -08:00
Erick Tryzelaar
d2c4b6492d
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-28 07:25:49 -08:00
Erick Tryzelaar
3953bdd812
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-28 07:25:31 -08:00
bors
b171d0ef7b
auto merge of #5159 : brson/rust/rtcall, r=brson
2013-02-28 01:12:38 -08:00
bors
c705440ee3
auto merge of #5155 : bstrie/rust/dedrop, r=pcwalton
...
This removes all but 6 uses of `drop {}` from the entire codebase. Removing any of the remaining uses causes various non-trivial bugs; I'll start reporting them once this gets merged.
2013-02-27 23:30:40 -08:00
Brian Anderson
2f858de1c3
Remove the last remnants of rtcalls
2013-02-27 18:34:04 -08:00
bors
d0a12347de
auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, r=nikomatsakis
...
Major changes are:
- replace ~[ty_param] with Generics structure, which includes
both OptVec<TyParam> and OptVec<Lifetime>;
- the use of syntax::opt_vec to avoid allocation for empty lists;
cc #4846
r? @graydon
2013-02-27 17:36:41 -08:00
Niko Matsakis
c623d21e38
Introduce lifetime declarations into the lists of type parameters.
...
Major changes are:
- replace ~[ty_param] with Generics structure, which includes
both OptVec<TyParam> and OptVec<Lifetime>;
- the use of syntax::opt_vec to avoid allocation for empty lists;
cc #4846
2013-02-27 19:42:09 -05:00
Ben Striegel
43d43adf6b
Turn old drop
blocks into Drop
traits
2013-02-27 19:14:19 -05:00
Erick Tryzelaar
7f5d4cbda0
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-27 14:05:39 -08:00
bors
5fc0eccdfa
auto merge of #5070 : youknowone/rust/struct-match2, r=nikomatsakis
...
It is reversed that type of arm pattern and type of search pattern
in error message.
2013-02-27 12:21:49 -08:00
Erick Tryzelaar
7d0ec86c4a
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
2013-02-27 11:03:21 -08:00
Jeong YunWon
35baf5b202
Fix reversed current/expected type
...
Fix some reversed type of arm pattern and type of search pattern
in error message.
2013-02-28 03:31:22 +09:00
Patrick Walton
07c3f5c0de
librustc: Forbid pub
or priv
before trait implementations
2013-02-27 09:40:16 -08:00
bors
061a223723
auto merge of #5118 : youknowone/rust/match-guard, r=nikomatsakis
...
Fix ICE while there is no remained arms after checking guards.
This fix #3601 also.
2013-02-27 06:06:44 -08:00
bors
f4e8ac21cd
auto merge of #5135 : brson/rust/start, r=pcwalton
...
r?
#3406
Pretty straightforward. I'm using opaque pointers instead trying to get trans and core to agree on the types of the main function and crate map. One oddity is that this required changing the order of the `-lrustrt` argument to the linker in order to resolve `upcall_new_stack`. Linkers are mysterious.
2013-02-26 23:45:39 -08:00
bors
99a902c81d
auto merge of #5120 : jbclements/rust/macros-have-scope, r=pcwalton
...
r?
After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism.
This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.
2013-02-26 20:00:38 -08:00
Brian Anderson
f4327230fa
Add a 'start' lang item and use it instead of rust_start
2013-02-26 19:43:26 -08:00
bors
28b50a4892
auto merge of #5096 : luqmana/rust/spell, r=catamorphism
...
Address #2281
```
-> % cat foo.rs
fn foo() -> int {
let bar = 10;
bad
}
```
```
-> % rustc foo.rs
foo.rs:4:4: 4:7 error: unresolved name: `bad`. Did you mean: `bar`?
foo.rs:4 bad
^~~
error: aborting due to previous error
```
2013-02-26 19:03:40 -08:00
bors
93a7f237d7
auto merge of #5115 : sanxiyn/rust/arm-abi, r=brson
...
Type size and alignment code needs to be factored, but I didn't want to interfere with MIPS port. Can be done later.
Fix #4797 .
2013-02-26 17:57:41 -08:00
Luqman Aden
a0866d0166
Adjust error messages for compile-fail tests.
2013-02-26 17:23:30 -08:00
Luqman Aden
f460c2adf8
Move levenshtein distance fn to core::str.
2013-02-26 17:23:30 -08:00
Luqman Aden
0a0fcdb018
librustc: offer suggestions for unresolved names.
2013-02-26 17:23:30 -08:00
Alex Crichton
681e6dd40d
Fix using the #[]-style attribute for unused imports
2013-02-26 17:51:26 -05:00
Alex Crichton
7e08d8f23c
Don't warn about 'pub use' statements
2013-02-26 17:51:26 -05:00
bors
44acefd101
auto merge of #5126 : nikomatsakis/rust/issue-4808-representation-of-extern-fn, r=graydon
...
r? @graydon
2013-02-26 13:15:51 -08:00
Niko Matsakis
85aaf39291
Reimplement type_needs_drop on top of TypeContents
2013-02-26 15:28:32 -05:00
bors
0e6d895ed8
auto merge of #5119 : Kimundi/rust/incoming, r=catamorphism
...
Removed deprecated `str()` functions in int-template.rs and uint-template.rs
2013-02-26 10:54:39 -08:00
John Clements
ca147a029e
Change imported macros to use leaky modules rather than leaky functions.
2013-02-26 10:26:41 -08:00
Marvin Löbel
42b0bacd76
Removed deprecated str()
functions in int-template.rs and uint-template.rs
2013-02-26 16:38:30 +01:00
Jeong YunWon
b79c4dc262
Add non-exhaustive check for match guards
...
Fix ICE while there is no remained arms after checking guards
2013-02-26 22:20:02 +09:00
Patrick Walton
9b08cd4903
librustc: Make &const [T]
mean the same thing as &[const T]
2013-02-26 04:18:12 -08:00
Patrick Walton
96bdc34930
librustc: De-[mut] librustc (remove all mutable arrays). rs=demuting
2013-02-26 04:18:12 -08:00
Patrick Walton
e2f90091cf
libcore: Move Cell to core and de-~mut core and std
2013-02-26 04:18:12 -08:00
Patrick Walton
c483aab4ae
librustc: Implement a lint mode for mutable structures; deny by default. r=tjc
2013-02-26 04:18:11 -08:00
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
Daniel Micay
1afddff97f
remove oldsmallintmap
...
Closes #4738
2013-02-23 01:40:17 -05: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
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
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
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
Seth Pink
60bd4a5385
Removed more capture claueses.
2013-02-17 12:41:45 +10: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
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