Commit Graph

84 Commits

Author SHA1 Message Date
James Miller
b4b2cbb299 Change calls for TypeName stuff to methods 2013-06-22 12:24:20 +12:00
James Miller
cc908b772c Remove @-fields from CrateContext
Remove all the explicit @mut-fields from CrateContext, though many
fields are still @-ptrs.
This required changing every single function call that explicitly
took a @CrateContext, so I took advantage and changed as many as I
could get away with to &-ptrs or &mut ptrs.
2013-06-16 09:20:40 +12:00
Patrick Walton
5fb254695b Remove all uses of pub impl. rs=style 2013-06-01 09:18:27 -07:00
Niko Matsakis
5209709e46 Fix matching of rvalues with destructors
Fixes #4542.
2013-05-30 15:20:36 -04:00
Niko Matsakis
7dfb865339 Remove local_imm/local_mem since all variables are now by reference 2013-05-30 09:54:38 -04:00
Niko Matsakis
dcd84901c6 Remove TrByImplicitRef and source field on datums 2013-05-30 09:47:14 -04:00
Patrick Walton
206ab89629 librustc: Stop reexporting the standard modules from prelude. 2013-05-29 19:04:53 -07:00
Patrick Walton
f3723cf7c4 libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra 2013-05-22 21:57:07 -07:00
Brian Anderson
66319b0278 Register snapshots 2013-05-19 23:34:32 -07:00
Corey Richardson
cc57ca012a Use assert_eq! rather than assert! where possible 2013-05-19 08:16:02 -04:00
Tim Chevalier
f21fb3aff5 rustc: Cleaning up bad copies and other XXXes 2013-05-17 21:41:54 -07:00
Tim Chevalier
1bf4f90291 rustc: Remove import that is, indeed, not necessary 2013-05-16 17:25:19 -07:00
Alex Crichton
a87db3e2cd rustc: Use the new for protocol 2013-05-10 02:46:19 -04:00
Niko Matsakis
15164cc6a6 Issue the correct deref count for the implicit deref that occurs
as part of an autoslice operation (#6272).

Fixes #6272.
2013-05-09 15:58:02 -04:00
Niko Matsakis
11f7cb26c2 When autoborrowing a fn in trans, adjust the type of the datum to be &fn.
Fixes #6141.
2013-05-07 11:41:27 -04:00
Niko Matsakis
4300d4d2fa Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze
Conflicts:
	src/libcore/core.rc
	src/libcore/hashmap.rs
	src/libcore/num/f32.rs
	src/libcore/num/f64.rs
	src/libcore/num/float.rs
	src/libcore/num/int-template.rs
	src/libcore/num/num.rs
	src/libcore/num/strconv.rs
	src/libcore/num/uint-template.rs
	src/libcore/ops.rs
	src/libcore/os.rs
	src/libcore/prelude.rs
	src/libcore/rt/mod.rs
	src/libcore/unstable/lang.rs
	src/librustc/driver/session.rs
	src/librustc/middle/astencode.rs
	src/librustc/middle/borrowck/check_loans.rs
	src/librustc/middle/borrowck/gather_loans.rs
	src/librustc/middle/borrowck/loan.rs
	src/librustc/middle/borrowck/preserve.rs
	src/librustc/middle/liveness.rs
	src/librustc/middle/mem_categorization.rs
	src/librustc/middle/region.rs
	src/librustc/middle/trans/base.rs
	src/librustc/middle/trans/inline.rs
	src/librustc/middle/trans/reachable.rs
	src/librustc/middle/typeck/check/_match.rs
	src/librustc/middle/typeck/check/regionck.rs
	src/librustc/util/ppaux.rs
	src/libstd/arena.rs
	src/libstd/ebml.rs
	src/libstd/json.rs
	src/libstd/serialize.rs
	src/libstd/std.rc
	src/libsyntax/ast_map.rs
	src/libsyntax/parse/parser.rs
	src/test/compile-fail/borrowck-uniq-via-box.rs
	src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
	src/test/run-pass/borrowck-nested-calls.rs
2013-05-05 15:11:04 -04:00
Niko Matsakis
989d008124 separate out write_guard code into its own module 2013-05-04 14:29:32 -04:00
Daniel Micay
86efd97a10 add gitattributes and fix whitespace issues 2013-05-03 20:01:42 -04:00
Niko Matsakis
be08c3e514 rustc: add rooting, write-guards to slices etc 2013-05-03 16:27:16 -04:00
Niko Matsakis
e7d96934c1 Correct mismatch between the way that pattern ids and expression ids map to types (pattern ids map to the input type, expression ids map to the output type) 2013-05-03 12:29:24 -04:00
Niko Matsakis
34024353e8 Change borrow debugging so it is disabled by -O 2013-05-03 05:42:00 -04:00
Jeong YunWon
35b91e2f73 Use static strings 2013-05-03 01:41:09 +09:00
Niko Matsakis
6210de9529 lang: fix code for maintaining borrow list 2013-05-01 21:47:09 -04:00
Niko Matsakis
ef6b24d135 rustc: fix the fact that trans_lvalue rooted twice 2013-05-01 20:22:08 -04:00
Niko Matsakis
38f93f2121 wip---work on making rooting work properly 2013-05-01 13:48:00 -04:00
Niko Matsakis
4af2d90af5 add an option to debug borrows (RUST_DEBUG_BORROW) so you can
find out where the offending borrow occurred. This ... still needs
some work.
2013-05-01 10:30:54 -04:00
Niko Matsakis
84861101ec rustc: print out filename/line-number when a borrow fails 2013-05-01 09:14:47 -04:00
Niko Matsakis
a896440ca1 new borrow checker (mass squash) 2013-04-30 06:59:32 -04:00
Daniel Micay
f792baba42 only use #[no_core] in libcore 2013-04-27 21:34:24 -04:00
Alex Crichton
1e4a439f7f rustc: de-mode + fallout from libsyntax changes 2013-04-19 23:23:23 -04:00
Patrick Walton
c995a62d44 librustc: WIP patch for using the return value. 2013-04-19 12:00:08 -07:00
Patrick Walton
1e91595520 librustc: Remove fail_unless! 2013-03-29 16:39:08 -07:00
Andrew Paseltiner
f02ee42a86 derive Eq and Clone impls where applicable 2013-03-27 22:04:23 -04:00
Patrick Walton
3b2fcf9f59 librustc: Fix bug with newtype structs containing dtors 2013-03-26 21:29:35 -07:00
Alex Crichton
6f812fef1b rustc: Remove uses of oldmap::HashMap 2013-03-26 19:21:04 -04:00
Patrick Walton
e7c60c141b librustc: Remove pure from libsyntax and librustc. 2013-03-22 12:57:27 -07:00
Andrew Paseltiner
9966eaaba4 rustc: replace uses of old deriving attribute with new one 2013-03-22 06:24:19 -04:00
Patrick Walton
352c070365 librustc: Convert all uses of old lifetime notation to new lifetime notation. rs=delifetiming 2013-03-18 17:21:14 -07:00
Patrick Walton
d18f785457 librustc: Replace all uses of fn() with &fn(). rs=defun 2013-03-11 09:35:58 -07: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
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
a9026c7f19 Memoize trans::adt::represent_type 2013-03-06 20:41:58 -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
3a4714d92e Renovate field projection expressions 2013-03-06 20:41:57 -08:00
Brian Anderson
f1a8b58811 rustc: De-mode some bits of trans 2013-03-06 11:18:34 -08:00
Alex Crichton
dfb5c10dea Remove unused imports throughout src/ 2013-03-04 12:27:01 -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
Brian Anderson
2f858de1c3 Remove the last remnants of rtcalls 2013-02-27 18:34:04 -08:00
Patrick Walton
07c3f5c0de librustc: Forbid pub or priv before trait implementations 2013-02-27 09:40:16 -08:00