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