Commit Graph

16519 Commits

Author SHA1 Message Date
Zack Corr
280b8a243e rt: Increase C_STACK_SIZE to 2MB to get JIT/rusti working again (dlopen segfaults) 2013-03-21 15:15:47 +10:00
bors
9814d0d412 auto merge of #5458 : pcwalton/rust/valgrind-suppress, r=pcwalton 2013-03-20 20:00:50 -07:00
Tim Chevalier
db00362313 Make typechecker compositional
The typechecker previously passed around a boolean return flag to
indicate whether it saw something with type _|_ (that is, something
it knows at compile-time will definitely diverge) and also had some
manual checks for the `ty_err` pseudo-type that represents a previous
type error. This was because the typing rules implemented by the
typechecker didn't properly propagate _|_ and ty_err. I fixed it.

This also required changing expected error messages in a few tests,
as now we're printing out fewer derived errors -- in fact, at this
point we should print out no derived errors, so report any that
you see (ones that include "[type error]") as bugs.
2013-03-20 19:44:38 -07:00
bors
a8527e2e97 auto merge of #5456 : graydon/rust/fixups, r=pcwalton
Stage markers for stage3 and a trivial prelude fix.
2013-03-20 18:27:48 -07:00
Marvin Löbel
a7d296f24c renamed str::view -> slice_DBG_BRWD
renamed str::slice -> slice_DBG_UNIQ
changed vec slice method -> to_owned()
renamed vec view method  -> slice_V_DBG_BRWD
2013-03-21 01:50:32 +01:00
bors
b12714eff5 auto merge of #5455 : pcwalton/rust/framework, r=catamorphism
r? @catamorphism
2013-03-20 16:42:47 -07:00
John Clements
3cd65c233d change some uses of fail_unless to assert_eq 2013-03-20 16:05:59 -07:00
bors
6f3d1686b2 auto merge of #5447 : erickt/rust/incoming, r=graydon
This normalizes the how we call reverse iteration functions. It also adds a char_len method, and a method to iterate backwards over a string.
2013-03-20 15:30:50 -07:00
Patrick Walton
257ef26bf1 etc: Suppress Linux valgrind issues for new scheduler 2013-03-20 15:13:01 -07:00
bors
51da7d4bc7 auto merge of #5453 : catamorphism/rust/issue-4120, r=catamorphism 2013-03-20 14:27:56 -07:00
Patrick Walton
a29934a61b librustc: Fix bug preventing -framework Foo from working cross-crate. 2013-03-20 13:54:26 -07:00
Patrick Walton
9c4d804cfe libsyntax: Never use ::<> in the type grammar 2013-03-20 13:54:25 -07:00
Graydon Hoare
9350d14ecb add stage3 markers where necessary for dist-snap 2013-03-20 13:48:57 -07:00
Graydon Hoare
bb9e1e2660 core: add Reader, Writer, ReaderUtil, WriterUtil to prelude. Close #4182. 2013-03-20 13:48:57 -07:00
Tim Chevalier
373504a7ac testsuite: Add test for #4210 2013-03-20 13:37:57 -07:00
John Clements
ab8e46b066 add assert_eq! macro
the assert_eq! macro compares its arguments and fails if they're not
equal. It's more informative than fail_unless!, because it explicitly
writes the given and expected arguments on failure.
2013-03-20 13:27:45 -07:00
bors
99ac243e7b auto merge of #5445 : nikomatsakis/rust/issue-3678-refactor-trans_call, r=graydon
Refactor trans_call to separate out the translation of the arguments, environment, and return pointer.  Towards #3678.  r? @brson
2013-03-20 13:15:58 -07:00
bors
0847d52a86 auto merge of #5450 : pcwalton/rust/warnings, r=graydon
r? @graydon
2013-03-20 11:52:09 -07:00
Patrick Walton
e72d011f68 librustc: Remove debug code and add scary warnings for rusti/rustpkg 2013-03-20 11:44:01 -07:00
Erick Tryzelaar
cefecd8601 core: add str::each{,i}_reverse 2013-03-20 07:53:23 -07:00
Erick Tryzelaar
8d5ab3061a core: add char_len method 2013-03-20 07:53:23 -07:00
Erick Tryzelaar
4b0f29a466 core: add char_at_reverse 2013-03-20 07:53:23 -07:00
bors
63a292fd86 auto merge of #5434 : apasel422/rust/deriving, r=nikomatsakis
This is the first step in refactoring the deriving code in libsyntax. No code is changed, just rearranged.
2013-03-20 06:45:51 -07:00
bors
c202430687 auto merge of #5435 : nikomatsakis/rust/issue-4846-refactor-self_info, r=nikomatsakis
Refactor the self-info so that the def-id is carried in ty_self()and the fn_ctxt doesn't need any self_info field at all. Pull out explicit self transformation into `check_method`. Step towards fixing `fn(&self)` to have a distinct lifetime. (cc #4846) 

r? @catamorphism
2013-03-20 03:18:45 -07:00
Niko Matsakis
ad70c748c3 Apply explicit self transformation before we enter check_fn 2013-03-20 06:17:03 -04:00
Niko Matsakis
00f97b9fb0 Refactor the self-info so that the def-id is carried in ty_self()
and the fn_ctxt doesn't need any self_info field at all.

Step towards fixing `fn(&self)` (cc #4846) to have a distinct
lifetime.
2013-03-20 06:14:53 -04:00
bors
db4dc1ffe2 auto merge of #5443 : alexcrichton/rust/less-bad-copy, r=catamorphism
Removes a lot of instances of `/*bad*/ copy` throughout libsyntax/librustc. On the plus side, this shaves about 2s off of the runtime when compiling `librustc` with optimizations.

Ideally I would have run a profiler to figure out which copies are the most critical to remove, but in reality there was a liberal amount of `git grep`s along with some spot checking and removing the easy ones.
2013-03-20 00:09:47 -07:00
bors
01e179840f auto merge of #5432 : ILyoan/rust/arm_use_ndk_rebase, r=sanxiyn
Partial Fix for #5265

- Enabling LLVM ARM ehabi option.
- Add ARM debug information manually for ccall.s
- Compile object file using Android-NDK.

Current LLVM trunk version can generate ARM debug information for assembly files but it is incomplete for object files. Unwinding on ARM can be done with LLVM trunk(the LLVM submodule of rust has problem on generating ARM debug information). See #5368

The Android-NDK detour(0f89eab) can be removed after LLVM has complete feature of generating ARM debug information for object file.
2013-03-19 23:12:46 -07:00
Alex Crichton
3fac7cce8f rustc: Remove some bad copies throughout 2013-03-20 01:28:32 -04:00
bors
f3c879fdd8 auto merge of #5442 : pcwalton/rust/extern-block-restriction, r=pcwalton
r? @graydon
2013-03-19 21:57:49 -07:00
Patrick Walton
f8dab3a6c0 test: Fix test. rs=test 2013-03-19 21:55:23 -07:00
Alex Crichton
cd7f3ad22e syntax: Removing some bad copies 2013-03-20 00:33:15 -04:00
Patrick Walton
ca3bc644f4 libcore: Make a couple of constructors public. rs=testfixing 2013-03-19 20:37:53 -07:00
Erick Tryzelaar
fe74a1c9a2 core: rename vec::rev_each{,i} to vec::each{,i}_reverse
I'm making this change because the _reverse suffix is more commonly
used in libcore/libstd.
2013-03-19 20:24:04 -07:00
bors
4cb9ca9296 auto merge of #5410 : luqmana/rust/cfg-and, r=graydon
This adopts the syntax from #2119. No more annoying workarounds involving wrapping in mods!
2013-03-19 18:39:50 -07:00
Patrick Walton
e6f53c091e libsyntax: Forbid use (and most other things) within extern { ... } blocks 2013-03-19 18:00:18 -07:00
bors
251d0c4557 auto merge of #5350 : yichoi/rust/pull-0313-2, r=graydon,pcwalton
FIX #5330

rename arm-unknown-android to arm-linux-androideabi
2013-03-19 17:06:55 -07:00
Luqman Aden
811d88024f Mark cfg test xfail-fast since check-fast doesn't understand compile-flags. 2013-03-19 16:50:07 -07:00
Luqman Aden
480e9ff8df compiletest: Make pretty tests actually use compile-flags. 2013-03-19 16:36:06 -07:00
Luqman Aden
6450ee91be Fix pretty printing for cfg test. 2013-03-19 16:26:23 -07:00
Andrew Paseltiner
3042321b3b syntax: split deriving module into submodules for each trait 2013-03-19 18:44:41 -04:00
bors
bc211f5032 auto merge of #5436 : alexcrichton/rust/assert-message, r=pcwalton
This would close #2761. I figured that if you're supplying your own custom message, you probably don't mind the stringification of the condition to not be in the message.
2013-03-19 15:43:02 -07:00
Andrew Paseltiner
18a594f49a syntax: move ext/deriving.rs to ext/deriving/mod.rs 2013-03-19 18:41:19 -04:00
Patrick Walton
b0bea10898 libsyntax: Accept the new [T, ..N] style for vec. 2013-03-19 15:40:04 -07:00
Patrick Walton
049e1f9a1f libsyntax: Accept static instead of const for globals 2013-03-19 14:46:27 -07:00
Luqman Aden
b9fc773649 Update run-pass/cfg-on-items.rs
Make comment describe actual behaviour.
2013-03-19 14:25:48 -07:00
bors
5ae76b5bab auto merge of #5428 : thestinger/rust/tutorial, r=catamorphism
My goal is to explain the underlying concepts first (destructors and then ownership) with plenty of step-by-step examples, so that thoroughly explaining the semantics of mutability, boxes, moves, etc. is a breeze. I'm trying to avoid the comparisons with C++ that were done before, because this should be approachable for people coming from any language. C++ programmers already know these concepts so they aren't the audience that needs to be catered to. Comparisons with other languages can be done in separate documents (like [this one](https://github.com/mozilla/rust/wiki/Rust-for-CXX-programmers)).

This still needs examples for ownership (inherited mutability), owned boxes and managed boxes.
2013-03-19 13:58:06 -07:00
Patrick Walton
2e7ec80bcc librustc: Enforce privacy for static methods.
This starts moving a bunch of privacy checks into the privacy
checking phase and out of resolve.
2013-03-19 13:40:48 -07:00
Daniel Micay
9967dc81fe rewrite the tutorial section on boxes 2013-03-19 16:27:08 -04:00
Luqman Aden
1e16edd995 Tests for cfg attribute. 2013-03-19 13:00:51 -07:00