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