Commit Graph

1095 Commits

Author SHA1 Message Date
Patrick Walton
b808cfbb74 rustc: Don't translate the expression twice when adapting a borrowed method receiver. Closes #3357.
Adds a test case. I had to stare at this one for a bit.
2012-09-02 16:51:05 -07:00
Brian Anderson
7fb1a4e2d1 Camel case core::intrinsic 2012-09-02 15:19:52 -07:00
Brian Anderson
d777e51333 Demode reinterpret_cast 2012-09-01 18:18:29 -07:00
Tim Chevalier
4128cc4cb4 Make utility funs in core::int, core::uint, etc. not by-reference
Closes #3302
2012-08-31 16:21:47 -07:00
Brian Anderson
b999973c0f Add a morestack_addr (temporary) intrinsic 2012-08-31 16:20:36 -07:00
Lindsey Kuper
6d8d258f35 Tag things that have to do with default methods with issue #2794. 2012-08-31 19:09:01 -04:00
Patrick Walton
5b4d5cee03 rustc: Make entire crates privileged scopes for the purposes of coherence 2012-08-31 15:14:15 -07:00
Kevin Cantu
7d57b4864a Remove deprecated modes from list.rs (and temporarily delete list::push) 2012-08-31 12:55:39 -07:00
Patrick Walton
6e7d5e1cbd rustc: Implement "use mod" 2012-08-31 11:20:50 -07:00
Patrick Walton
4846affedb rustc: "extern mod { ... }" should be written "extern { ... }" instead 2012-08-30 17:10:07 -07:00
Patrick Walton
1f056eda8e rustc: Make the compiler no longer ICE on unused foreign constants 2012-08-30 16:08:58 -07:00
Patrick Walton
a1c11cab2d rustc: Make <=, >=, and > use traits as well 2012-08-29 19:23:15 -07:00
Patrick Walton
96534365c2 rustc: Make < and = into traits 2012-08-29 18:25:22 -07:00
Brian Anderson
c0c8d3aa8f core: Demode int/uint mods 2012-08-29 16:23:36 -07:00
Brian Anderson
ee2ce036cc Camel case more std types 2012-08-29 16:09:50 -07:00
Brian Anderson
aab4d6b8d7 std: Camel case some constructors 2012-08-29 15:34:38 -07:00
Graydon Hoare
5eef15df12 Rename resolve3 -> resolve. 2012-08-29 13:26:52 -07:00
Tim Chevalier
cb8ecd7984 Allow extern mods to be anonymous
extern mod {
  f();
}

is now allowed, and puts f in the enclosing scope. (Requires a
link_name attribute to be really useful...)
2012-08-29 12:22:05 -07:00
Niko Matsakis
75201cdc04 vtable.rs: adjust formatting, correct build error 2012-08-29 06:07:17 -07:00
Niko Matsakis
e9ac7489b5 Refactor representation of borrowing so that it is tracked by fn_ctxt and not infer 2012-08-29 05:27:43 -07:00
Tim Chevalier
06675caa42 Comment the default case in typeck::check::vtable::lookup_vtable copiously
Try to save the next person who looks at this code the heartbreak that I
went through.
2012-08-28 19:51:11 -07:00
Tim Chevalier
a70e37b214 In ty::impl_traits, treat structs properly
Treat structs just like impls: use their associated list of
trait refs to get the list of traits that one of them implements.
I don't understand what was happening before, but it was wrong.

Closes #2936
2012-08-28 19:51:11 -07:00
Ben Striegel
a605fd0cad CamelCasify lots of std 2012-08-28 18:52:44 -07:00
Graydon Hoare
ecb646477b Add lint modes for uses of @ and ~ pointers, in general. 2012-08-28 18:25:41 -07:00
Brian Anderson
161a82e433 Camel case various core constructors 2012-08-27 17:22:18 -07:00
Brian Anderson
0c6e470a25 Convert core::result to camel case 2012-08-27 14:37:04 -07:00
Patrick Walton
3a1582012e libcore: Implement ord and eq language items 2012-08-27 14:27:43 -07:00
Patrick Walton
2bb056f4ab rustc: Avoid an allocation on every GEPi 2012-08-27 14:27:42 -07:00
Niko Matsakis
6d788198d7 fix a few remaining unused pattern binding warnings 2012-08-27 14:10:55 -07:00
Erick Tryzelaar
3e6ddf72ba rustc: make sure to import shr. 2012-08-27 14:10:55 -07:00
Erick Tryzelaar
ad19609dbc rustc: Fix typo in variant name 2012-08-27 14:10:55 -07:00
Erick Tryzelaar
c83ab4bcb8 rustc: import vstore_uniq 2012-08-27 14:10:55 -07:00
Erick Tryzelaar
65bd46c8a5 rustc: more pattern cleanup 2012-08-27 14:10:54 -07:00
Erick Tryzelaar
5ce5ee86bc rustc: fix the unused pattern vars warnings. 2012-08-27 14:10:54 -07:00
Elliott Slaughter
38fee9526a rustc: When landing pads are off, avoid skipping cleanup code.
This forces various things to be created (e.g. drop glue), and also
happens to be necessary for GC liveness to recognize cleanups as
roots.
2012-08-27 12:48:35 -07:00
Elliott Slaughter
5593add3a8 rustc: Break cyclical dependence between emit_tydescs and gen_shape_tables.
Force all tydescs to be emitted before emit_tydescs to avoid linker
failures.
2012-08-27 12:48:35 -07:00
Brian Anderson
8337fa1a54 Camel case the option type 2012-08-26 15:56:16 -07:00
Patrick Walton
62be878ed1 rustc: Use memmove in unsafe::reinterpret_cast (issue #3025).
This was causing a bunch of structural copies, which when inlined
was leading to enormous register pressure. Often this is seen in
code which makes use of result::unwrap.
2012-08-26 11:25:53 -07:00
Patrick Walton
ff9151fa55 rustc: Use memset when zeroing allocas out (issue #3025).
Previously, LLVM was generating a ton of byte-by-byte copies,
leading to huge numbers of vregs and bloating the code. Now, using
memset, the code becomes a nice series of SSE moves instead.
2012-08-26 10:50:06 -07:00
Patrick Walton
80429dd7bd rustc: Add some more debugging to vtable 2012-08-25 23:13:50 -07:00
Brian Anderson
09df8f1abf Fix more unused variable warnings 2012-08-25 18:38:21 -07:00
Patrick Walton
8ef4551904 rustc: Implement foreign constants.
This is needed for a lot of Apple libraries, as Apple tends to put a lot of
globals in dynamic libraries.
2012-08-25 15:09:33 -07:00
Tim Chevalier
33ba097069 Add backquotes to error message 2012-08-25 09:15:26 -07:00
Vincent Belliard
bdbedb9d35 implements issue #2356 2012-08-25 17:01:52 +02:00
Tim Chevalier
5e22fb9c7f Remove match check 2012-08-24 22:28:12 -07:00
Tim Chevalier
0dad78e03d Eliminate match checks in trans and typeck 2012-08-24 20:45:30 -07:00
Michael Sullivan
90812c143d Rework method lookup to properly handle self types for non impl matches. Closes #3268. Closes #3274. 2012-08-24 17:57:41 -07:00
Michael Sullivan
6a56212649 A bunch of code refactoring in method matching. 2012-08-24 17:57:41 -07:00
Michael Sullivan
cf62433f43 Comments only: fix a comment in method resolution. 2012-08-24 17:57:41 -07:00
Graydon Hoare
c284b8b1dc Start using core::path2::Path in a lot of places. 2012-08-24 15:51:16 -07:00