Commit Graph

772 Commits

Author SHA1 Message Date
Jed Davis
9eaa608b04 Get rid of the Unit enum representation.
The only thing we really lose is that C-like enums with one variant and a
non-zero discriminant now take up space, but I do not think this is a
common usage.  As previously noted, that was mostly there for
transitional compatibility with the pre-adt.rs codebase.
2013-03-11 00:01:04 -07:00
Jed Davis
e6b5e00ea2 Simplify struct representation.
Out goes the extra layer of struct wrapping; the destructedness flag is
added to the end of the struct.  This means that, if the struct
previously had alignment padding at the end, the flag will live there
instead of increasing the struct size.
2013-03-10 23:57:38 -07:00
Niko Matsakis
62aa8d7de9 Simplify the interface to check_fn by pulling some of the madness out to its callers 2013-03-10 15:05:22 -04:00
Jed Davis
1df0a0ba0f Const dereference works now, so allow it. 2013-03-09 17:40:59 -08:00
Jed Davis
122e4a28b8 Don't copy const data to do an autoderef+autoref. 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
Ben Striegel
fdf69dd7b0 Finish de-implicit-selfing everything but the test suite 2013-03-08 19:34:39 -05:00
Alex Crichton
2c87920f52 test: Removing dvec uses 2013-03-08 09:54:41 -05:00
Alex Crichton
2a72099063 rustc: Remove uses of DVec 2013-03-08 09:54:20 -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
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
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
Jed Davis
a9026c7f19 Memoize trans::adt::represent_type 2013-03-06 20:41:58 -08:00
Jed Davis
a8237a46f1 Bonus Fix: typarams are no longer inhabited 2013-03-06 20:41:58 -08:00
Jed Davis
8105da8067 GC the now-unused old layout helpers 2013-03-06 20:41:58 -08:00
Jed Davis
b6bcf1a81f Finish removing struct layout dependencies from glue. 2013-03-06 20:41:58 -08:00
Jed Davis
71b6e945c1 glue::trans_struct_drop -> adt 2013-03-06 20:41:58 -08:00
Jed Davis
5ca4fdfc98 Convert trans_tuple_struct to trans::adt.
Surely this cannot be the best way to get the type.
2013-03-06 20:41:57 -08:00
Jed Davis
29d0430c56 Convert iter_structural_ty to trans::adt 2013-03-06 20:41:57 -08:00
Jed Davis
c0f6909f7e base::iter_structural_ty: structs and records 2013-03-06 20:41:57 -08:00
Jed Davis
68b3f0d8a4 base::iter_structural_ty: tuples 2013-03-06 20:41:57 -08:00
Jed Davis
ca450e345f Move trans_enum_variant to trans::adt.
As a result, trans_enum_variant no longer cares what kind of enum it's
dealing with, so the "degen" parameter goes away in a bunch of places.
2013-03-06 20:41:57 -08:00
Jed Davis
6bb6baba2c Renovate cast-to-int 2013-03-06 20:41:57 -08:00
Jed Davis
075affa50d Convert const field extraction to trans::adt 2013-03-06 20:41:57 -08:00
Jed Davis
59daf76a8d Make functional-update struct consts not an ICE 2013-03-06 20:41:57 -08:00
Jed Davis
bb689c09f5 Convert const ADT construction to trans::adt.
Also converts const cast-from-enum, because it used the same routine to
get the discriminant as what's renovated to construct the enums.

Also fixes ICE on struct-like variants as consts, and provides a slightly
less bad ICE for functional-update-like struct expressions in consts.
2013-03-06 20:41:57 -08:00
Jed Davis
2a028c5ab8 Convert newtype "dereference" to trans::adt.
Note that in the ByValue case (which can't happen? yet?) we're still
effectively bitcasting, I think.  So this change adds a way to assert
that that's safe.

Note also, for future reference, that LLVM's instcombine pass will turn
a bitcast into a GEP(0, 0, ...) if possible.
2013-03-06 20:41:57 -08:00
Jed Davis
c7325c4172 Convert the rest of the adt GEPi's in _match 2013-03-06 20:41:57 -08:00
Jed Davis
3a4714d92e Renovate field projection expressions 2013-03-06 20:41:57 -08:00
Jed Davis
40313fb6b0 Renovate nullary variant construction 2013-03-06 20:41:57 -08:00
Jed Davis
fdd28451f6 Convert expr_struct to use adt, and try to share code with tuples. 2013-03-06 20:41:57 -08:00
Jed Davis
5cbc2571c1 Renovate expr_tup translation 2013-03-06 20:41:57 -08:00
Jed Davis
b673b26f03 Factor out discriminant loading more, for use in casts. 2013-03-06 20:41:57 -08:00
Jed Davis
a5030e7615 Wrap const structs in as many LLVM structs as the non-const case.
This, like the previous change for unit-like enums, is only necessary
until everything is fully converted to use trans::adt.
2013-03-06 20:40:42 -08:00
Jed Davis
e09a843973 Handle unit-like types specially.
This change remains separate from the addition of adt.rs, even though
it's necessary for compatibility with pre-trans::adt representation,
to serve as an example of a change to the representation logic.
2013-03-06 20:37:59 -08:00
Jed Davis
7b2b4faba8 Add a test for enum discriminant range overflow.
It causes an LLVM assertion for every host/target word-size combination
on incoming at the time of this writing.
2013-03-06 20:37:28 -08:00
Jed Davis
04ecab909a Re-add discriminant range annotations 2013-03-06 20:37:28 -08:00
Jed Davis
8a1706610b Avoid unnecessary casts in struct_GEP 2013-03-06 20:37:28 -08:00
Jed Davis
5e2302a56f Convert type_of to use trans::adt. 2013-03-06 20:37:28 -08:00
Jed Davis
c4682dcabe Convert match on enums to use trans::adt. 2013-03-06 20:37:28 -08:00
Jed Davis
626ad484fe Unified algebraic datatype representation implementation, initial version.
Later changes on this branch adapt the rest of rustc::middle::trans
to use this module instead of scattered hard-coded knowledge of
representations; a few of them also have improvements or cleanup for
adt.rs (and many added comments) that weren't drastic enough to justify
changing history to move them into this commit.
2013-03-06 20:37:23 -08:00
bors
95c07479dd auto merge of #5182 : youknowone/rust/enum-cast, r=brson
Fix #4926
2013-03-06 16:51:47 -08:00
bors
8c3728f839 auto merge of #5125 : nikomatsakis/rust/issue-4846-lifetime-defaults, r=nikomatsakis
Work towards #4846.

- Institute new region defaults where all omitted regions get a fresh lifetime.
- Require explicit region names except in functions.
- Fix a bug in region parameterization inference.  I've been putting this off because it will not be important when we remove RP inference in favor of explicit declarations, but then it was blocking this patch.

r? @pcwalton
2013-03-06 13:45:51 -08:00
Niko Matsakis
3280e5a33d Improve error messages when illegal lifetimes are used 2013-03-06 15:12:58 -05:00
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
Young-il Choi
a35dc95969 mk: --android-cross-path to rustc 2013-03-05 13:12:23 +09:00
Alex Crichton
cb4ab76e4a Adding missing imports for tests, and gate off others 2013-03-04 12:27:01 -05:00
Alex Crichton
bc3bee410a Add a special FIXME for subduing warnings in rpath.rs 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
Patrick Walton
9519ee5d80 librustc: "APL2" -> "ASL2". rs=license-fix 2013-03-01 08:41:31 -08:00
Patrick Walton
c355f17943 Merge remote branch 'sevrak/issue-5164' into incoming 2013-03-01 08:39:02 -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
sevrak
833ad6018e Fix license attribute on crates 2013-02-28 13:34:01 +00: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