Elly Jones
7f945eeae9
cargo: support installing crates
...
Introduce the notion of CARGO_ROOT to override HOME if need be. Build packages
there instead of in /tmp. Install to CARGO_ROOT/bin and CARGO_ROOT/lib.
2011-12-09 14:21:21 -08:00
Erick Tryzelaar
e3a066bde8
Swap arg order for option::{may,maybe}
...
This lets us write the block syntax sugar:
option::may(x) { |y| … }
2011-12-09 10:22:24 -08:00
Marijn Haverbeke
44ffd8e3aa
Allow type annotations for blocks
...
I.e. {|foo: int| -> int foo + 2}
Issue #1275
2011-12-09 09:42:22 +01:00
Brian Anderson
54f72fbc10
rustc: Actually hook the crate_type attribute into session
2011-12-08 21:31:50 -08:00
Brian Anderson
4f17131855
Add crate_type attributes to rustc, std, core
2011-12-08 21:09:48 -08:00
Brian Anderson
9116a6d9b1
rustc: Support 'crate_type' attribute
...
[crate_type = "lib"] builds it as a library.
[crate_type = "bin"] builds it as an executable.
Executable is the default. --lib and --bin switches override.
2011-12-08 21:09:15 -08:00
Brian Anderson
6156295a4c
rustc: Move linking into compile_input
2011-12-08 20:33:31 -08:00
Brian Anderson
fd81fb6a24
rustc: Determine the crate type (lib/bin) in the session, not session opts
...
This is in preparation for adding a #[crate_type] attribute
2011-12-08 20:08:00 -08:00
Brian Anderson
9e6ff44d93
rt: Make __morestack work on win32
2011-12-08 16:47:33 -08:00
Marijn Haverbeke
0e74121ddb
Error when parsing the empty record type
...
Issue #1200
2011-12-08 13:29:43 +01:00
Marijn Haverbeke
9a269a3aa8
Allow binding of nested patterns
...
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is
boundvar@subpattern
Which will match the subpattern as usual, but also bind boundvar to the
whole matched value.
Closes #838
2011-12-08 12:03:48 +01:00
Marijn Haverbeke
8c966b7b18
Stop passing around some unused information in typeck
2011-12-08 10:53:04 +01:00
Marijn Haverbeke
a7c6cb7385
Consider variant constructors pure functions for the purpose of purity checking
...
Closes #1269
2011-12-08 10:26:42 +01:00
Brian Anderson
94b0fee6f1
rt: Reorganize and add documentation for rust_upcall.cpp
2011-12-07 18:50:23 -08:00
Brian Anderson
31fe5d0bd8
rt: Run most upcalls on the C stack
2011-12-07 18:50:23 -08:00
Niko Matsakis
0fc4403442
use util::rational to work around bug w/ floats on win
2011-12-07 17:05:58 -08:00
Niko Matsakis
1ff8994fce
Purge old map impl: more collisions, not clear it is safe on 64bit
2011-12-07 17:05:58 -08:00
Niko Matsakis
4b704ac69b
improve comments
2011-12-07 17:05:58 -08:00
Niko Matsakis
ed0e13f1d8
fix old map impl, add logging
2011-12-07 17:05:58 -08:00
Niko Matsakis
30a2361e68
add some debugging logs
2011-12-07 17:05:58 -08:00
Niko Matsakis
13a3288f3f
dec size in remove
2011-12-07 17:05:58 -08:00
Niko Matsakis
ddfe82a466
make rehashing more efficient by not re-allocating entries
2011-12-07 17:05:58 -08:00
Niko Matsakis
729345cb97
implement a chained hashmap
2011-12-07 17:05:58 -08:00
Graydon Hoare
501c514e89
Register new snapshots (containing libcore auto-importing it now).
2011-12-07 16:36:56 -08:00
Graydon Hoare
3ccdd2a098
Mention new dirs in README.
2011-12-07 15:34:30 -08:00
Graydon Hoare
e4aa73c0f9
Change snapshot script to pick up host libcore as well.
2011-12-07 15:34:16 -08:00
Brian Anderson
81f932e7d7
rt: Fix alignment of stacks generated by __morestack
2011-12-07 14:06:46 -08:00
Graydon Hoare
e056ffa17d
Inject the view_items for core in the right place, add comment documenting why the wrong place was wrong.
2011-12-07 13:33:00 -08:00
Graydon Hoare
799690bea0
Remove stmt_crate_directive, it's vestigial and confusing.
2011-12-07 13:33:00 -08:00
Graydon Hoare
dfd699a852
Pass --no-core when building libcore.
2011-12-07 13:32:59 -08:00
Marijn Haverbeke
17e99ec57f
Fix test that used an oversized int literal
2011-12-07 22:10:56 +01:00
Marijn Haverbeke
7548a0d77a
Restore accidentally overwritten test
2011-12-07 22:02:38 +01:00
Marijn Haverbeke
3d0610b072
Check for literals that are out of range for their type
2011-12-07 21:53:05 +01:00
Marijn Haverbeke
e3eca9174b
Change literal representation to not truncate
...
Also shuffles around the organization of numeric literals and types,
separating by int/uint/float instead of machine-vs-non-machine types.
This simplifies some code.
Closes #974
Closes #1252
2011-12-07 21:08:28 +01:00
Graydon Hoare
6daa233a73
Register new snapshots.
2011-12-07 11:57:48 -08:00
Graydon Hoare
a3f48d3fe1
Merge branch 'master' of github.com:graydon/rust
2011-12-07 11:52:38 -08:00
Niko Matsakis
6c95e400d8
repair more hash functions
2011-12-07 07:35:25 -08:00
Marijn Haverbeke
03a6e54212
Disallow binding by-mut-ref and by-move arguments
...
Fix bug in bound by-copy arguments.
Closes #1261
2011-12-07 15:28:57 +01:00
Marijn Haverbeke
d28e0c0c0a
Make typestate properly descend pattern guards
...
Closes #1265
2011-12-07 14:09:45 +01:00
Brian Anderson
9656ceac60
rt: Put 16 guard bytes at the end of the stack
2011-12-06 22:35:42 -08:00
Brian Anderson
5d1a1dc420
rt: Rename stk_seg.limit to stk_seg.end
...
rust_task is using the word limit it two ways, so one has to change.
2011-12-06 21:45:53 -08:00
Brian Anderson
3d7b89bc4d
rt: Reorganize rust_upcall.cpp a bit
2011-12-06 21:44:19 -08:00
Brian Anderson
00636e3155
rt: Convert log_type and cmp_type upcalls to shim form
2011-12-06 21:44:19 -08:00
Brian Anderson
c11d0b0aa0
rt: Move upcall_cmp_type/upcall_log_type to rust_upcall.cpp
2011-12-06 21:44:18 -08:00
Niko Matsakis
9b7347dd96
modify upcalls to take structs as args
2011-12-06 21:44:18 -08:00
Niko Matsakis
8b608125ac
fix hash function: + binds tighter than <<
2011-12-06 21:34:50 -08:00
Niko Matsakis
66355607da
hack for now: map uint hashes into a u32, which helps x86_64 perf.
2011-12-06 19:55:46 -08:00
Niko Matsakis
aa99bfa170
do not stringify AST nodes unless emitting comments
2011-12-06 19:55:45 -08:00
Niko Matsakis
15d60326f6
helpful targets
2011-12-06 19:55:45 -08:00
Niko Matsakis
84bbc12444
Merge branch 'master' of github.com:graydon/rust
2011-12-06 19:55:20 -08:00