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
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
Marijn Haverbeke
857ad58dce
Fix double-cleanup bug in patch 57c7645cb83e609ff
...
Things would run fine (probably by sheer luck) but valgrind didn't
approve.
2012-02-14 15:59: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
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
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
c81867474a
(core::str) add find_bytes and export it...
2012-02-13 01:56:58 -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
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
Kevin Cantu
27161f4415
using str::index...
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
Niko Matsakis
3f15a28b16
correct fully qualified type names to include the crate; add tests (take 2)
...
This reverts commit fc023d91c77f468211ba9f7681b4d2a6469aac74.
2012-02-11 14:09:52 -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 2ec3a0b60833736a3c0d805768885b4392c36100.
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
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
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
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
Tim Chevalier
372cf4954c
suppress warning
2012-02-09 14:39:23 -08:00
Tim Chevalier
503dec1d62
Further WIP on classes
...
Changes to resolve and typeck. Still nothning working yet.
2012-02-09 14:36:43 -08:00
Tycho Sci
d846169b15
cargo: 2 modes -> 3 modes, and clarify them
...
* -g or --mode=user to create/use .cargo under $HOME
* -G or --mode=system to create/use .cargo under sysroot
* by default, `cargo` uses .cargo under current working directory
2012-02-09 12:15:30 -08:00
Tycho Sci
48e206ee81
cargo: Add local mode and use it by default
2012-02-09 12:15:30 -08:00
Marijn Haverbeke
0b4851cff6
Fix bug in decoding of method metadata
2012-02-09 17:08:54 +01:00