Commit Graph

7916 Commits

Author SHA1 Message Date
Brian Anderson
4d03e4b711 rt: Remove smart_ptr. Unused 2012-02-26 16:23:37 -08:00
Tim Chevalier
c28c258f91 Disallow type parameters in the main() function
Closes #1900
2012-02-25 11:06:01 -08:00
Niko Matsakis
13781f3d8d retool serializer to be built by stage0 rustc 2012-02-24 21:14:34 -08:00
Niko Matsakis
274c9708f0 Test for #1374 2012-02-24 21:14:31 -08:00
Niko Matsakis
5ee89f3f2a add an option to the final cc so that it prints out/logs unreclaimed ptrs 2012-02-24 20:46:27 -08:00
Niko Matsakis
acb129c541 Add temp cleanups for copy/move mode args when other args fail. Fixes #1374 2012-02-24 20:46:27 -08:00
Niko Matsakis
f3ca50c9ca Encode/decode AST into metadata, re-instantiate inlined items 2012-02-24 20:46:27 -08:00
Niko Matsakis
be9914625b allow snapshot to be specified in make command line 2012-02-24 20:46:27 -08:00
Jesse Ruderman
8e4c5d2d4d Start next_id at 1 to make the compiler happy 2012-02-24 20:25:54 -08:00
Jesse Ruderman
e5521aa03e AST fuzzer: remove ignores for fixed issues; update issue URLs 2012-02-24 19:52:56 -08:00
Jesse Ruderman
f455dc1976 Improve the cycle-collector fuzzer 2012-02-24 19:26:42 -08:00
Graydon Hoare
c00a7b08eb Register new snapshots. 2012-02-24 18:43:22 -08:00
Brian Anderson
16d290d10c rustdoc: Reexport native functions 2012-02-24 15:59:34 -08:00
Brian Anderson
396540f19d rustdoc: Don't prune reexports 2012-02-24 15:43:57 -08:00
Brian Anderson
9b009ea23d rustdoc: Fix some remaining bugs around native mods 2012-02-24 15:22:57 -08:00
Brian Anderson
6e31983179 rustdoc: Sort native mods 2012-02-24 15:15:27 -08:00
Brian Anderson
5a86313387 rustdoc: Write markdown for native mods and fns 2012-02-24 15:07:08 -08:00
Brian Anderson
16010058a6 rustdoc: Add types for native functions 2012-02-24 15:06:58 -08:00
Brian Anderson
2576a3c2c9 rustdoc: Extract attribute docs from native stuffs 2012-02-24 14:22:13 -08:00
Brian Anderson
f053f06973 rustdoc: Record paths to native functions 2012-02-24 14:08:47 -08:00
Brian Anderson
681e5beac4 rustdoc: Remove a pointer that's no longer needed 2012-02-24 13:53:28 -08:00
Brian Anderson
fdea1c414c rustdoc: Extract doc nodes for native mods 2012-02-24 13:50:40 -08:00
Brian Anderson
ba173d8409 rustdoc: Add doc node for native mods 2012-02-24 13:34:35 -08:00
Brian Anderson
155a67eae7 Revert "rt: Cut the red zone to 10K on mac"
This reverts commit cb7022cfc2.
2012-02-24 12:26:06 -08:00
Brian Anderson
9982a2a841 rustc: Don't add duplicate entries to exp_map 2012-02-23 21:52:41 -08:00
Brian Anderson
cb7022cfc2 rt: Cut the red zone to 10K on mac 2012-02-23 19:42:59 -08:00
Graydon Hoare
b44be95e45 Support basic, unsophisticated, somewhat wrong export-globs. 2012-02-23 18:39:14 -08:00
Graydon Hoare
5f4dcb0fa4 Fix comment, add test that export glob works as import glob in scope. 2012-02-23 18:39:13 -08:00
Graydon Hoare
1f4a6bb3ad Treat export-globs as import-globs for sake of linking. 2012-02-23 18:39:12 -08:00
Graydon Hoare
893bbea576 Minor renaming to help my comprehension. 2012-02-23 18:39:11 -08:00
Brian Anderson
050b8bfdf8 Revert "etc: Add helgrind suppression for lock_held_by_current_thread"
This reverts commit d44ca0923a.
2012-02-23 18:27:40 -08:00
Brian Anderson
710258cc76 rustdoc: Make reexports work in the crate module 2012-02-23 18:06:43 -08:00
Brian Anderson
d44ca0923a etc: Add helgrind suppression for lock_held_by_current_thread
I have some confidence that this function is correct now, but helgrind still
doesn't like it because it's not lock-protected.
2012-02-23 17:29:06 -08:00
Marijn Haverbeke
8733386bcc Make sure fold_ty preserves associated def_ids
Closes #1884
2012-02-23 17:44:03 +01:00
Marijn Haverbeke
0f00d9a797 Adjust fuzzer and cargo to changes in core::str API 2012-02-23 17:11:21 +01:00
Marijn Haverbeke
780f8277f4 Finish cleanup of core::str
Closes #1849
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
1d2b4b97ed Optimize str::replace 2012-02-23 17:00:19 +01:00
Marijn Haverbeke
d802c1fbd2 Various cleanups and optimizations in core::str 2012-02-23 17:00:19 +01:00
Marijn Haverbeke
35e9192762 Make str::pop_char and str::unsafe::pop_byte efficient
O(1) rather than O(string len)
2012-02-23 17:00:19 +01:00
Kevin Cantu
c2984b46b4 (core::str) comments 2012-02-23 17:00:19 +01:00
Kevin Cantu
961b6446b6 (core::str) rename ++ 2012-02-23 17:00:19 +01:00
Kevin Cantu
c3318f29fe (core::str) rename substr_len_bytes to substr_len, and delete unused byte_index[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
7782f5d692 (core::str) remove len_bytes alias 2012-02-23 17:00:19 +01:00
Kevin Cantu
1b957c0942 (core::str) replace uses of unsafe::slice_bytes; replace find[_from]_bytes with find[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
cec053487c (core::str) stop using index_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
6ea3d7935e (core::str) replace byte_index[_from] with index[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
280633a728 (core::str) do some replacements 2012-02-23 17:00:19 +01:00
Kevin Cantu
2756a61e34 (core::str) add index, index_from, rindex which return byte positions of chars; rename find to find_chars; add fixmes to delete byte_index, byte_index_from 2012-02-23 17:00:19 +01:00
Kevin Cantu
e1d04e0062 (core::str) add a safe byte slice and maybe_slice ++ 2012-02-23 17:00:19 +01:00
Kevin Cantu
7c78b7dfed (core::str) add a safe byte slice and maybe_slice 2012-02-23 17:00:19 +01:00
Kevin Cantu
454b53a7c2 (core::char) rename slice -> slice_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
1cd5a0945a (core::str) rename rindex -> rindex_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
969fdf419c (core::str) rename index -> index_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
8ea96169ff (core::str) make len an alias for len_bytes ++ 2012-02-23 17:00:19 +01:00
Kevin Cantu
669ff690fd (core::str) make len an alias for len_bytes 2012-02-23 17:00:19 +01:00
Kevin Cantu
98447f5236 (core::str) mostly rename len -> len_chars 2012-02-23 17:00:19 +01:00
Brian Anderson
7a6498668f rt: Cut the red zone to 2K on linux 2012-02-23 00:23:22 -08:00
Brian Anderson
cd381333b9 rt: Cut the red zone to 4K on linux 2012-02-22 23:50:47 -08:00
Brian Anderson
b5c7997ef5 rt: Switch to the C stack in reset_stack_limit 2012-02-22 23:50:47 -08:00
Brian Anderson
c16bfbe0c3 rt: Stop logging on the Rust stack. Closes #1478 2012-02-22 22:30:21 -08:00
Brian Anderson
27ab663845 rustc: Don't ignore attributes inside empty mods. Closes #1655 2012-02-22 21:47:23 -08:00
Brian Anderson
ffa77dd610 test: Add a test for #1696 2012-02-22 21:17:19 -08:00
Brian Anderson
ae23ee28e2 test: Add a test for #1697 2012-02-22 21:14:27 -08:00
Brian Anderson
99a48660d1 rustc: Allow any integral types on rhs of shift ops 2012-02-22 17:26:08 -08:00
Tim Chevalier
4acfcd8c2f Improve error message for use of a non-pure-fn in a pred
Closes #1883
2012-02-22 10:59:52 -08:00
Marijn Haverbeke
cb2f43cbf4 Stop normalizing patterns
The check for whether a pat_ident is a variant or a binding
is simple and fast. Normalizing patterns again and again is
slow and error-prone (several places were forgetting to do it).
2012-02-22 16:57:23 +01:00
Marijn Haverbeke
a3b655f8e3 Fix uint/u64 confusion
Causes a failure on 32-bit platforms
2012-02-22 13:44:55 +01:00
Marijn Haverbeke
1e5266260a Take move captures in account in mutability checker
Closes #1461
2012-02-22 13:35:17 +01:00
Marijn Haverbeke
8015e6d52b Return a new type var instead of nil when failing to typecheck a field
The previous solution was usually causing a second spurious error
message.
2012-02-22 13:34:43 +01:00
Marijn Haverbeke
ffd50b9cdf Make the various from_str functions return options
So that they can be used with user input without causing task
failures.

Closes #1335
2012-02-22 13:18:15 +01:00
Marijn Haverbeke
72373438d2 Add core::to_str module
Provides a central iface for the various stringification
functions.
2012-02-22 13:06:38 +01:00
Marijn Haverbeke
ad03761a97 Remove preconditions from libraries
Closes #1805
2012-02-22 11:47:47 +01:00
Marijn Haverbeke
e57b6775c3 Clean up small things in syntax submodules 2012-02-22 11:16:25 +01:00
Brian Anderson
40cd1a7c45 rustdoc: Turn off parallel folding until I figure out what's wrong on OS X 2012-02-21 16:15:14 -08:00
Brian Anderson
8b071ebe4c rustdoc: Make it easy to switch between parallel and sequential folds 2012-02-21 16:14:02 -08:00
Brian Anderson
1ee139ae1f rustdoc: Convert most passes to parallel folds 2012-02-21 16:14:02 -08:00
Brian Anderson
d4f57620ae rustdoc: Implement a parallel fold 2012-02-21 16:14:02 -08:00
Brian Anderson
7599d2dd51 rustdoc: Implement astsrv in a dedicated task
This allows the srv type to be sendable so we can parallelize
all the rustdoc passes
2012-02-21 16:14:02 -08:00
Brian Anderson
96e3031675 rustdoc: Convert the astsrv constructor to a higher order fn
This will allow it to manage the destruction of the astsrv after
I convert it to a task
2012-02-21 16:14:02 -08:00
Brian Anderson
d6095dc6b5 rustdoc: Rename mk_srv_from_str/file to just from_str/file 2012-02-21 16:14:02 -08:00
Brian Anderson
77a01054fa rustc: Generate crates with #ast 2012-02-21 15:34:26 -08:00
Brian Anderson
a896eb326e core: Fix unused variable warning 2012-02-21 14:25:51 -08:00
Brian Anderson
6527fc3925 core: Fix to_str_exact for floats with no decimal component 2012-02-21 14:25:31 -08:00
Brian Anderson
910a32c7c7 core: Add option::unwrap
This function uses some unsafe code to move the value out of an option.
2012-02-21 13:55:50 -08:00
Marijn Haverbeke
9d20ed7bf9 Clean up unification code 2012-02-21 17:08:14 +01:00
Marijn Haverbeke
ff927f18f5 Clean up some FIXMEs in middle:: modules
Rename all TODOs to FIXMEs
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
92a45f5582 Move trans::type_of code into its own file
Slowly shrinking base.rs
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
d85d4f55f7 Include @ in crate_ctxt and fn_ctxt type definitions
So that code using them doesn't have to spell it out constantly.
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
b1d7f252a9 Remove unused tydesc argument to upcall_shared_malloc 2012-02-21 17:08:14 +01:00
Marijn Haverbeke
389aff333d Make the cleanup tag in resource types a u8
Closes #1184
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
5458da0fd9 Remove some checks and associated FIXMEs from trans code
Such intentions are better tracked in the bug tracker, don't need
to litter the code with repetetive comments.
2012-02-21 17:08:14 +01:00
Marijn Haverbeke
789a1ae356 Clean up a number of TODOs in the trans modules
Rename the ones that I didn't handle to FIXME
2012-02-21 14:20:18 +01:00
Brian Anderson
9691ce18a2 core: Resolve a FIXME in str module 2012-02-21 01:03:13 -08:00
Brian Anderson
4601810747 core: Remove a useless test from option mod 2012-02-20 22:43:33 -08:00
Tim Chevalier
4cd3d4ab1e More work on typechecking classes
classes-simple doesn't fail until trans now!
2012-02-20 22:26:19 -08:00
Brian Anderson
4220dcf1e9 core: New task API 2012-02-20 18:58:04 -08:00
Tim Chevalier
fbc95ba018 Re-XFAIL test that I accidentally 2012-02-20 17:33:35 -08:00
Tim Chevalier
cd9579e079 fix whitespace again 2012-02-20 17:21:33 -08:00
Tim Chevalier
ac7aa73b3e Oops, my whitespace is showing 2012-02-20 17:19:09 -08:00
Tim Chevalier
2299d204e4 Further work on resolving and typechecking classes
Class tests aren't working yet, but they fail a little later :-)

Also, make the parser correctly set a constructor's result type to
its enclosing class type.
2012-02-20 17:16:52 -08:00
Brian Anderson
5837e1e809 rustdoc: Remove stray log 2012-02-20 16:57:29 -08:00
Brian Anderson
86e1d4ecbd rustdoc: astsrv::exec should return sendable types
In order to make it parallelizable someday.
2012-02-20 16:56:59 -08:00
Brian Anderson
57be673025 rustdoc: Document reexports 2012-02-20 16:39:35 -08:00
Tycho Sci
b06cb0df5a cargo: Install blobs to $sysroot/(bin|lib) on system-mode
Issue #1795
2012-02-20 17:55:36 +09:00
Tycho Sci
ff0ab6b7ee cargo: Use system-mode by default except "install"
I think it is confused that you need to "cargo init"
and "cargo sync" every time to setup local-level .cargo
2012-02-20 17:55:35 +09:00
Tycho Sci
2e63bc5d82 cargo: Use $sysroot/$libdir/cargo as work dir
On win32  environment, it's "$sysroot/bin/cargo".
On unix-y environment, it's "$sysroot/lib/cargo".
2012-02-20 17:55:35 +09:00
Brian Anderson
657ef8ef60 Merge pull request #1869 from cpeterso/master
rt: lock_and_signal fixes
2012-02-19 23:42:38 -08:00
Chris Peterson
fed81c2cfc rt: Add some lock_and_signal assertions
Assert that locks are not reentered on the same thread, unlocked by a
different thread, or deleted while locked.
2012-02-19 23:15:35 -08:00
Chris Peterson
9f49293232 rt: Initialize Windows CRITICAL_SECTION with non-zero spin count
If a CRITICAL_SECTION is not initialized with a spin count, it will
default to 0, even on multi-processor systems. MSDN suggests using
4000. On single-processor systems, the spin count parameter is ignored
and the critical section's spin count defaults to 0.

For Windows >= Vista, extra debug info is allocated for
CRITICAL_SECTIONs but not released in a timely manner. Consider using
InitializeCriticalSectionEx(CRITICAL_SECTION_NO_DEBUG_INFO).
2012-02-19 23:13:31 -08:00
Chris Peterson
159dfd7c3b rt: Delete Windows CRITICAL_SECTION in dtor 2012-02-19 23:11:03 -08:00
Erick Tryzelaar
4a3d551b85 vim: fix indenting enums and macros
Now vim indenting goes from:

fn main() {
    enum t {
a: int,
   b: int
    }
#error("hello world");
}

to:

fn main() {
    enum t {
        a: int,
        b: int
    }
    #error("hello world");
}
2012-02-19 13:08:32 -08:00
Brian Anderson
6b280c61ce core: Export future mod 2012-02-18 23:03:26 -08:00
Brian Anderson
010f2abc70 core: When running tests sequentially, print the test name before running it
Useful for debugging hanging tests
2012-02-18 16:30:09 -08:00
Brian Anderson
23d36be1e9 core: Define futures in terms of local functions, of which port::recv is one possibility 2012-02-18 15:23:56 -08:00
Brian Anderson
d2294a2d99 rustc: Add missing space to error message 2012-02-18 14:04:24 -08:00
Brian Anderson
4370188055 Merge pull request #1860 from erickt/master
add str::find_from_bytes and str::index_from_bytes
2012-02-18 13:17:12 -08:00
Chris Peterson
3d202d7eae rt: rename nano_time() builtin to match time::precise_time_ns() 2012-02-18 01:39:42 -08:00
Chris Peterson
b73bc30858 std: Add tests for time module
Tested on OSX and Windows.
2012-02-18 01:32:52 -08:00
Chris Peterson
105b5f0be8 std: Expand doc comments for time module 2012-02-18 01:30:12 -08:00
Chris Peterson
123a920f59 std: Fix Windows system time conversion for get_time() 2012-02-18 01:21:26 -08:00
Graydon Hoare
ef6f628589 Refactor view_path to parse (but not yet process) export globs, unify code paths. 2012-02-17 23:05:20 -08:00
Graydon Hoare
6f70896854 Add new test for export globs, xfailed. 2012-02-17 23:02:27 -08:00
Brian Anderson
3411d19369 core: Make vec::push faster
This way makes it equivalent to the compiler's vec push, and is a lot
faster than calling vec::grow.
2012-02-17 18:15:52 -08:00
Brian Anderson
affd83ea0e rustdoc: Find the path to all item types 2012-02-17 17:48:37 -08:00
Brian Anderson
f8f28e29be rustdoc: Add a test that we can tolerate missing external crates 2012-02-17 17:34:44 -08:00
Brian Anderson
4e44437180 rustc: Make resolve more forgiving of missing external crates
Rustdoc needs to be able to resolve locals without resolving externals
2012-02-17 17:34:05 -08:00
Brian Anderson
cec1679cf6 rustdoc: Simplify attr pass 2012-02-17 16:52:27 -08:00
Brian Anderson
22de9292c6 rustdoc: Simplify desc pass 2012-02-17 16:00:39 -08:00
Brian Anderson
ba2c2afc98 rustdoc: Simplify desc_to_brief pass 2012-02-17 16:00:39 -08:00
Brian Anderson
37601684c9 rustdoc: Add an item fold 2012-02-17 16:00:39 -08:00
Brian Anderson
5e376b78cf rustdoc: Refactor itemdoc creation in extract pass 2012-02-17 16:00:39 -08:00
Brian Anderson
e7ccda98d1 rustdoc: Extract itemdoc creation 2012-02-17 16:00:39 -08:00
Brian Anderson
784e2b7298 rustdoc: Extract common item fields into itemdoc 2012-02-17 16:00:39 -08:00
Brian Anderson
d26fc348ef rustdoc: Add path field to all item docs 2012-02-17 16:00:39 -08:00
Brian Anderson
a5ede9d345 rustdoc: Resolve imports and reexports 2012-02-17 16:00:39 -08:00
Marijn Haverbeke
f7f73c79ec Move debuginfo into trans 2012-02-17 23:03:12 +01:00
Marijn Haverbeke
ff42964546 Clean up some of trans using block combinators
`with_scope` and `with_cond` can be used to wrap a piece of code in a
scope block, or conditionalize it on a value, without doing all the
context-creation and jumping by hand.

Also renames @block_ctxt to block to reduce noise.
2012-02-17 23:03:12 +01:00
Marijn Haverbeke
1c1261bcb8 Simplify get_tydesc's API 2012-02-17 22:47:03 +01:00
Marijn Haverbeke
9f4206cdc4 Clean up block_ctxt representation 2012-02-17 22:47:03 +01:00
Brian Anderson
54d7bffbb8 rt: Make upcall_vec_push an intrinsic 2012-02-17 12:08:03 -08:00
Brian Anderson
db62154062 rt: Don't take the lock when reallocing in the kernel memory region 2012-02-17 11:37:17 -08:00
Brian Anderson
d23cd8f52f rt: Don't hit TLS on upcall_vec_push unless necessary 2012-02-17 11:37:17 -08:00
Brian Anderson
a3fdd8c93f rt: Don't log on entry to upcall_vec_push. Also slow 2012-02-17 11:37:17 -08:00
Brian Anderson
fca8e9e621 rt: Don't do the stack canary check in upcall_vec_push. Too slow 2012-02-17 11:37:17 -08:00
Brian Anderson
e0b2fd8417 rt: Simplify upcall_vec_push 2012-02-17 11:37:17 -08:00
Brian Anderson
853e2003b8 rt: Make the stack canary just a word on the stk_seg struct 2012-02-17 11:37:17 -08:00
Graydon Hoare
2796ab6de9 Add a win32-ignore attribute to a should-fail test. 2012-02-17 11:28:18 -08:00
Chris Peterson
94fe5011e2 std: Add some env() and getenv() tests 2012-02-17 08:47:45 +01:00
Chris Peterson
aec76d2515 std: Fix env() assert when an environment variable's value contains a '=' char 2012-02-17 08:47:44 +01:00
Erick Tryzelaar
23703c0661 core: add str::find_from. 2012-02-16 19:16:08 -08:00
Erick Tryzelaar
042a5222d1 core: rewrite str::byte_index to use vec functions 2012-02-16 18:35:45 -08:00
Erick Tryzelaar
d1c9b160ad core: slim down str.rs by importing some and none. 2012-02-16 17:30:56 -08:00
Brian Anderson
75503570c7 rt: Untabify rust_port_selector.cpp 2012-02-16 12:53:21 -08:00
Brian Anderson
96af6f05a1 rt: Randomize port selection 2012-02-16 12:53:21 -08:00
Brian Anderson
601f7144d8 core: Add comm::select2
Receives on two ports simultaneously
2012-02-16 12:53:18 -08:00
Brian Anderson
b2cfb7ef82 rt: Add rust_port_select function 2012-02-16 11:12:22 -08:00
Marijn Haverbeke
e62ddf4898 More rigorous reuse of cleanup sequences
In both landing pads and break/cont/ret unwinding.

Closes #300
2012-02-16 16:37:33 +01:00
Marijn Haverbeke
ea6bb5aafa Remove to_zero/to_revoke kludge
It is much simpler to just move by_move args into a temporary
alloca.
2012-02-16 13:55:17 +01:00
Niko Matsakis
bfff2a8d55 make mut a keyword synonymous with mutable
first step towards issue #1273
2012-02-15 13:26:11 -08:00
Niko Matsakis
dddd9908d5 move shape into trans 2012-02-15 13:26:10 -08:00
Brian Anderson
93b66ee587 test: Assert that the result is correct in run-pass/crust-stress 2012-02-15 12:45:04 -08:00
Brian Anderson
0438e6e924 bench: Add a test for task concurrency 2012-02-15 11:52:43 -08:00
Marijn Haverbeke
1248c250d8 A test that I forgot to git-add 2012-02-15 17:21:03 +01:00
Marijn Haverbeke
67cc89f38d Rewrite exhaustiveness checker
Issue #352
Closes #1720

The old checker would happily accept things like 'alt x { @some(a) { a } }'.
It now properly descends into patterns, checks exhaustiveness of booleans,
and complains when number/string patterns aren't exhaustive.
2012-02-15 15:47:42 +01:00
Marijn Haverbeke
4b63826050 Replace some explicit fails with 'alt check' invocations 2012-02-15 15:47:42 +01:00
Marijn Haverbeke
5b6eb67128 Register new snapshot 2012-02-15 14:00:02 +01:00
Marijn Haverbeke
9e685005d4 Fix use of expr_alt in fuzzer that was causing the build to fail 2012-02-15 12:01:09 +01:00
Marijn Haverbeke
16e5760564 Fix bug in safe-reference checker
At some point, a refactor broke the code that handled local declarations
to no longer descend into the initializer expressions.

Closes #1846
2012-02-15 11:53:32 +01:00
Marijn Haverbeke
9ff5ba085d Fix bad line printing for parse errors
The code that extracted lines from partially-parsed files
was broken.

Closes #1848
2012-02-15 11:53:32 +01:00
Marijn Haverbeke
6627890f6b Support 'alt check' syntax
It is only a way to flag an alt as intentionally non-exhaustive right now.

Issue #1679
2012-02-15 11:53:32 +01:00
Brian Anderson
9f95ccb426 test: Add a crust function stress test 2012-02-15 01:16:53 -08:00
Kevin Atkinson
d6d7134c37 When parsing a source string, fail when the entire string is not parsed.
(For now only fail when parse_from_source_str is used to avoid
possible compatibility problems; parse_expr_from_source_str still
does not check.)
2012-02-14 19:37:33 -08:00
Kevin Atkinson
a803a14b56 Bug fix to accept $ in 0th pos, (ie #ast{$(x) + ...}).
Note: part from Niko Matsakis commit: rewrite assert to accept a $ in
0th pos.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
3eef8d1419 Correctly handle the character position at the EOF.
Fixes issue #1785.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
379194753c Use file_substr rather than <anon> when re-parsing quasi-quotes
for better error messages.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
0e44133e7c Do a better job of reporting source location for files (i.e. filemap)
that are really a substr of another file.
2012-02-14 19:37:33 -08:00
Kevin Atkinson
74b4345a38 Change file_substr to allow for external strings. 2012-02-14 19:37:33 -08:00
Brian Anderson
ff6b71f78b core: Add core::future
Futures will be required for upcoming changes to the task API
2012-02-14 16:45:17 -08:00
Brian Anderson
859e025652 rt: Reconfigure the C stack for valgrind each time it's used 2012-02-14 15:11:56 -08:00
Brian Anderson
b157f0b263 core: Add comm::peek for looking into the message queue 2012-02-14 14:07:06 -08:00
Brian Anderson
a53a08e1b9 rt: Don't allocate a C stack for tasks that already have one 2012-02-14 13:51:15 -08:00
Brian Anderson
d5e7f0d113 rt: Don't kill tasks while they are in a callback from C 2012-02-14 11:24:09 -08:00
Brian Anderson
3f4872f032 test: Test yielding in crust functions 2012-02-14 11:24:09 -08:00
Brian Anderson
a393fb3221 rt: Maintain stack ptrs correctly when returning from stack switches 2012-02-14 11:24:09 -08:00
Brian Anderson
214cdd0dee rustc: Translate crust functions 2012-02-14 11:24:09 -08:00
Brian Anderson
78034aa22a rustc: Add trans_crust_fn. Don't do anything special yet 2012-02-14 11:24:09 -08:00
Brian Anderson
d7c8cacfde rustc: Extract native function generation into trans::native 2012-02-14 11:24:09 -08:00
Brian Anderson
4cc1e31f74 rt: Add a Rust callback debugging function 2012-02-14 11:24:09 -08:00
Brian Anderson
c4c89dd684 rustc: Translate the value of crust functions 2012-02-14 11:24:09 -08:00
Brian Anderson
0a503228f6 rustc: Typecheck crust functions as *u8 2012-02-14 11:24:09 -08:00
Brian Anderson
305cbf9b8e rustc: Parse crust functions 2012-02-14 11:24:09 -08:00
Brian Anderson
6943b38e4f rustc: Add crust functions to the AST 2012-02-14 11:24:09 -08:00
Brian Anderson
acabd821d2 Merge pull request #1831 from killerswan/str_fixes
(core::str) changes to find / find_bytes
2012-02-14 11:22:31 -08:00
Brian Anderson
0cae213801 Merge pull request #1836 from tychosci/cargo-fix
cargo: additions for issue #1643 and #1806
2012-02-14 10:58:45 -08:00
Marijn Haverbeke
857ad58dce Fix double-cleanup bug in patch 57c7645cb8
Things would run fine (probably by sheer luck) but valgrind didn't
approve.
2012-02-14 15:59:41 +01:00
Marijn Haverbeke
90324a1978 XFAIL bind-methods test until I figure out what is going wrong
It is not Valgrind-clean.
2012-02-14 13:54:41 +01:00
Marijn Haverbeke
57c7645cb8 Allow static method calls to be bound
This allows you to take the value of, for example, `[1].len`, or bind
it with `bind x.map(_)` syntax.

I'm holding off on implementing this for dynamic methods (those on
bounded type parameters or iface types) until it's clearer what we
will do with monomorphization.

Issue #435
2012-02-14 13:43:36 +01:00
Marijn Haverbeke
f2e880b750 Add [X].len() to core, use it in trans modules 2012-02-14 13:43:36 +01:00
Tycho Sci
60b80fa6df cargo: Warn if "gpg" is not available
Closes #1643
2012-02-14 10:08:35 +09:00
Tycho Sci
d014edcb1c cargo: Use $sysroot/bin/rustc to compile crate
Closes #1806
2012-02-14 09:44:39 +09:00
Brian Anderson
f3dba33043 test: Add test for #1821 2012-02-13 15:58:14 -08:00
Brian Anderson
e7024e9dd2 build: Start downloading FreeBSD snaps from the official server 2012-02-13 12:44:41 -08:00
Brian Anderson
340f612962 Register snapshots 2012-02-13 12:44:41 -08:00
Marijn Haverbeke
72591496b0 Remove some needlessly repetetive casts in metadata code 2012-02-13 21:08:05 +01:00
Marijn Haverbeke
6c9d95a9a0 Track purity/unsafety of iface and impl methods
Closes #1807
2012-02-13 21:08:05 +01:00
Graydon Hoare
9caca02dac Merge pull request #1827 from uasi/from-cstr
Avoid extra memory allocations in core::str::from_cstr{,_len}
2012-02-13 11:29:58 -08:00
Marijn Haverbeke
94d4dcdbf0 Fix bug in handling of block functions in last-use analysis
It would fail to start out with a fresh scope when going over
a loop or block function for the second time, and thus not
recognize last uses of locals defined inside the block.

Closes #1818
2012-02-13 17:55:40 +01:00
Niko Matsakis
520c3f5f79 correct error message and add to test 2012-02-13 07:33:16 -08:00
Niko Matsakis
3a2f1e1876 add serialization library; convert ebml lib to use u64 internally 2012-02-13 06:50:58 -08:00
Niko Matsakis
4eb52f69a9 do not fail if iface/impl method have different number of parameters 2012-02-13 06:50:58 -08:00
Niko Matsakis
a7641e99e8 remove leading ::, new tests 2012-02-13 06:50:58 -08:00
Marijn Haverbeke
bcbe36b33b Make sure simplify_type simplifies all pointer types
This is needed to prevent infinite recursion when computing
the shape of an enum type that contains pointers to itself.

Closes #1821
2012-02-13 14:13:35 +01:00
Kevin Cantu
69834646d2 (core::str) more test cases 2012-02-13 03:07:29 -08:00
Kevin Cantu
2600db4778 (core::str) added FIXME comment 2012-02-13 02:17:19 -08:00
Kevin Cantu
07ef368c60 (core::str) rename find_chars -> find 2012-02-13 01:57:05 -08:00
Kevin Cantu
c81867474a (core::str) add find_bytes and export it... 2012-02-13 01:56:58 -08:00
Kevin Cantu
748b63f63f (core::str) add find_chars and b2c_pos functions 2012-02-13 01:56:10 -08:00
Kevin Cantu
0e61fe2eea (core::str) use slice_bytes in starts_with for a little bit less string traversal 2012-02-13 01:56:10 -08:00
Brian Anderson
8309d50ff4 core: Add iter::filter_map 2012-02-12 22:30:58 -08:00
Brian Anderson
e360ddbd65 core: Add iterable implementation for strings 2012-02-12 22:17:10 -08:00
Brian Anderson
092c244d3a core: Rename iter::reverse to iter::reversed for consistency with vec mod 2012-02-12 22:11:42 -08:00
Brian Anderson
ad2f566ff2 core: Add abs functions for signed integer types 2012-02-12 22:04:06 -08:00
Brian Anderson
acc57a44fd core: Add compl functions for the rest of the integer types 2012-02-12 21:58:06 -08:00
Tomoki Aonuma
4d788be80d from_cstr and from_cstr_len are not unsafe, I think 2012-02-13 12:44:14 +09:00
Tomoki Aonuma
8d29e87056 core::str::from_cstr uses from_cstr_len 2012-02-13 12:44:14 +09:00
Tomoki Aonuma
e5cc9193f8 Avoid extra memory allocations in core::str::from_cstr_len 2012-02-13 12:44:14 +09:00
Brian Anderson
fde719f635 core: Implement foldl/r without copying the accumulator 2012-02-12 19:24:24 -08:00
Brian Anderson
d679c0eb34 core: Add iter::foldr 2012-02-12 19:24:24 -08:00
Brian Anderson
3edad3555e core: Add iter::count 2012-02-12 19:24:24 -08:00
Brian Anderson
85175d639f core: Add iter::reverse 2012-02-12 19:24:24 -08:00
Brian Anderson
c21db3bbc2 core: Add iter::min/max 2012-02-12 19:24:24 -08:00
Brian Anderson
486d07a5bc build: Temporarily retrieve FreeBSD snapshots from jyyou's server 2012-02-13 01:22:42 -05:00
Kevin Cantu
f5e1108fc3 (core::str) comments and cleanup 2012-02-12 15:30:21 -08:00
Kevin Cantu
faa513b1f6 (core::str) fixed replace, fixed starts_with, and added more find/contains/replace test cases 2012-02-12 15:30:21 -08:00
Kevin Cantu
2ba44e24d5 (core::str) rename byte_len_range -> substr_len_bytes and
rename char_len_range -> substr_len_chars
2012-02-12 15:30:20 -08:00
Kevin Cantu
2b4f5136a5 (core::str) rename byte_len -> len_bytes and rename char_len -> len 2012-02-12 15:30:20 -08:00
Kevin Cantu
944f5a6598 (core::str) move push_byte, push_bytes, pop_byte, and shift_byte into str::unsafe 2012-02-12 15:30:20 -08:00
Brian Anderson
5fb0906f43 core: Formulate all unsigned max_values as 0 - 1 for consistency 2012-02-12 00:00:15 -08:00
Brian Anderson
4838d7860e core: Add min/max functions for all int types 2012-02-11 23:56:53 -08:00
Brian Anderson
3bdb627b5d core: Make uint::min/max pure 2012-02-11 23:52:40 -08:00
Brian Anderson
910c6a5df8 core: Fill out missing functions for basic types 2012-02-11 23:49:13 -08:00
Brian Anderson
87d17be846 core: Add modules for remaining scalar types 2012-02-11 23:18:26 -08:00
Tomoki Aonuma
70b04a14d1 Add a test for core::str::from_cstr_len 2012-02-12 13:28:54 +09:00
Tomoki Aonuma
6408d54c13 Implement core::str::from_cstr_len, close #1666 2012-02-12 13:25:15 +09:00
Brian Anderson
005a3efb8b test: Fix cros-crate-glob-collision 2012-02-11 18:20:02 -08:00
Brian Anderson
d2debed605 core: Change the argument order for vec::contains, vec::count 2012-02-11 18:00:52 -08:00
Brian Anderson
1040b47078 core: Rename vec::member to vec::contains to match str mod 2012-02-11 18:00:52 -08:00
Brian Anderson
737db5b49a Merge pull request #1812 from killerswan/indexing2
(core::str) Fixing index and rindex
2012-02-11 17:42:45 -08:00
Kevin Cantu
207bb3d2df (core::str) removed [r]index_byte 2012-02-11 17:04:08 -08:00
Kevin Cantu
0121cd5b0e (core::char) export is_digit 2012-02-11 16:50:03 -08:00
Kevin Cantu
e0af23b664 using str::rindex... 2012-02-11 16:39:39 -08:00
Kevin Cantu
50360873f8 (core::str) added rindex and rewrote pop_char with char_range_at_reverse 2012-02-11 16:39:39 -08:00
Kevin Cantu
27161f4415 using str::index... 2012-02-11 16:39:39 -08:00
Kevin Cantu
14baf88f89 core::str: added index (char) 2012-02-11 16:39:39 -08:00
Kevin Cantu
a131b430a0 core::str rename [r]index -> [r]index_bytes 2012-02-11 16:39:39 -08:00
Kevin Cantu
5c58dde2f8 core: added char::is_digit (matching Nd, Nl, No) 2012-02-11 16:39:19 -08:00
Kevin Cantu
b3444db161 core: added a rough char::is_ascii 2012-02-11 16:39:19 -08:00
Brian Anderson
85ab9b9e9f Merge pull request #1810 from uasi/fix-typo
Fix typo in either.rs
2012-02-11 15:17:10 -08:00
Niko Matsakis
3f15a28b16 correct fully qualified type names to include the crate; add tests (take 2)
This reverts commit fc023d91c7.
2012-02-11 14:09:52 -08:00
Tomoki Aonuma
0e5922a0b1 Fix typo in either.rs 2012-02-12 03:42:11 +09:00
Niko Matsakis
13d743093b rewrite to use ctypes types 2012-02-11 10:14:41 -08:00
Niko Matsakis
b106ef8116 make bind syntax unnecessary: just use _ for one of the arguments 2012-02-11 10:14:41 -08:00
Niko Matsakis
fc023d91c7 Revert prior commit until I have time to track down the valgrind error
This reverts commit 2ec3a0b608.
2012-02-11 09:49:02 -08:00
Niko Matsakis
2ec3a0b608 correct fully qualified type names to include the crate; add tests
fixes #1745
2012-02-10 21:53:17 -08:00
Niko Matsakis
d972226567 remove executable that was accidentally included 2012-02-10 20:48:29 -08:00
Niko Matsakis
e712a47a81 create serialization lib and update serializer to use it 2012-02-10 20:48:29 -08:00
Niko Matsakis
0263039ca0 use absolute names when pretty-printing types 2012-02-10 20:48:28 -08:00
Niko Matsakis
fdddf8f9e1 put serializer into the build and encode full item paths 2012-02-10 20:48:28 -08:00
Niko Matsakis
dbcb54f4dc create serializer project which autogenerates serialization code 2012-02-10 20:48:28 -08:00
Niko Matsakis
5d57fa3403 update ebml interface 2012-02-10 20:48:28 -08:00
Niko Matsakis
efd393d613 Remove dead code 2012-02-10 20:48:28 -08:00
Ted Horst
9fde2a54f4 use task::spawn_sched to read stdout and stderr at the same time
Hopefully this addresses the root cause of the hangs when running make check on windows.
2012-02-10 19:42:32 -08:00
Ted Horst
a7a1152db5 put fflush back in 2012-02-10 19:42:32 -08:00
Ted Horst
9fd2fcc99c read stderr before stdout
tests all write to stderr, so read stderr first to keep from blocking while reading stdout
2012-02-10 19:42:32 -08:00
Ted Horst
36d5074f8f log to stderr instead of stdout
includes rustc diagnostics
runtest updated to check stderr for errors
2012-02-10 19:42:32 -08:00
Brian Anderson
17110fb28b test: Add tests for #1802 2012-02-10 15:43:35 -08:00
Brian Anderson
b9e0ee8e7e rt: Add docs to stack functions 2012-02-10 12:58:35 -08:00
Brian Anderson
3af4b2c998 rt: Call register/deregister_valgrind_stack from the stack con/destructors 2012-02-10 12:58:35 -08:00
Brian Anderson
3406da49d9 rt: Extract prepare_valgrind_stack from register_valgrind_stack 2012-02-10 12:58:35 -08:00
Brian Anderson
c42492e6aa rt: Rename config_valgrind_stack to register_valgrind_stack, etc 2012-02-10 12:58:35 -08:00
Brian Anderson
dd0ae80e63 rt: Account for the size of stack_canary in create_stack 2012-02-10 12:58:35 -08:00
Brian Anderson
fc028c30a0 rt: Move the addition of the stack canary into create_stack 2012-02-10 12:58:35 -08:00
Brian Anderson
8e55d3130a rt: Use 100k stacks for scheduler threads 2012-02-10 11:53:30 -08:00
Marijn Haverbeke
7f1ea3ef6a Don't allow binding patterns to bind keywords
Closes #1586
2012-02-10 15:54:47 +01:00
Marijn Haverbeke
fe8a31e569 Remove a vestige of return-by-reference 2012-02-10 14:33:36 +01:00
Marijn Haverbeke
107f827b53 Fix mistake in typechecker error refactor 2012-02-10 13:59:05 +01:00
Marijn Haverbeke
74d4e2a32e Add compile-fail tests for interfaces/impls
Closes #1475
2012-02-10 13:31:33 +01:00
Marijn Haverbeke
d01e7cd340 Represent boxed ifaces in a way similar to functions
They are now a (dictptr, box) pair, where box is a regular boxed
representation of the inner type. This cuts down on some special
case code.

Also removes some code from trans::base that was moved to shape but
then somehow restored in trans::base through a bad merge.

Starts on issue #1567
2012-02-10 12:36:57 +01:00
Marijn Haverbeke
b17348527e Complain about multiple methods in scope only once
Closes #1803
2012-02-10 09:53:05 +01:00
Marijn Haverbeke
a681628bd4 Output meaningful lexer error when no digits given for number
Closes #1802
2012-02-10 09:50:16 +01:00
Brian Anderson
d493438c98 rt: Disable some expensive asserts 2012-02-09 22:58:40 -08:00
Brian Anderson
d90a9d3da0 rt: Inline everything on the C-stack-switching path 2012-02-09 22:15:15 -08:00
Brian Anderson
dff256cd19 rt: Move valgrind stack configuration out of the hot path 2012-02-09 21:27:50 -08:00
Brian Anderson
81e1564a7d rt: Detach pthreads before exiting
Joinable pthreads need to be either joined or detached and we no
longer join with the scheduler threads.
2012-02-09 19:00:16 -08:00
Brian Anderson
5d8d591ffc rt: Remove sync::yield and sync::sleep 2012-02-09 19:00:16 -08:00
Brian Anderson
421c8db144 rt: Move rust_thread to its own files 2012-02-09 19:00:16 -08:00
Brian Anderson
8ad9cf8087 rt: Add more stack-switching commentary 2012-02-09 19:00:16 -08:00
Brian Anderson
5d2442d89c rt: Add upcall_call_shim_on_rust_stack 2012-02-09 19:00:16 -08:00
Brian Anderson
79b1563abb rt: Use rust_task_thread's C-stack pool for native calls 2012-02-09 19:00:16 -08:00
Brian Anderson
bfb80064d2 rt: Add methods to rust_task_thread for borrowing C stacks 2012-02-09 19:00:16 -08:00