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
Marijn Haverbeke
02082be4a7
Fix various bugs in monomorphization
...
Enough to be able to compile librustc with --monomorphize.
Issue #1736
2012-02-09 15:30:48 +01:00
Marijn Haverbeke
52a741754c
Remove some pointless imports
2012-02-09 15:30:27 +01:00
Marijn Haverbeke
50fb4c30ed
Increase precedence of as operator
...
Closes #1717
2012-02-09 11:58:08 +01:00
Marijn Haverbeke
1dc5e1aa94
Monomorphize methods and bounded parameters
...
Issue #1736
2012-02-09 11:58:07 +01:00
Tim Chevalier
48769b57e0
A bit more WIP on classes, and some cleanup in resolve
2012-02-08 15:21:45 -08:00
Niko Matsakis
6e680e36a7
deprecate old style box shape strings
2012-02-08 13:10:20 -08:00
Marijn Haverbeke
0547d0cc5b
Monomorphize resource and variant constructors
...
Issue #1736
2012-02-08 10:45:50 +01:00
Tim Chevalier
5131216fa6
Restore a comment that got lost (comments only)
2012-02-07 17:08:03 -08:00
Kevin Cantu
2b0396c34a
core: make str::substr use char positions (and replace other uses)
2012-02-07 16:25:35 -08:00
Kevin Cantu
a3f5626ad1
String split renaming:
...
* Renamed str::split -> str::split_byte
* Renamed str::splitn -> str::splitn_byte
* Renamed str::split_func -> str::split
* Renamed str::split_char -> str::split_char
* Renamed str::split_chars_iter -> str::split_char_iter
* Added u8::is_ascii
* Fixed the behavior of str::split_str, so that it matches split_chars
and split (i.e. ["", "XXX", "YYY", ""] == split_str(".XXX.YYY.", "."))
* Fixed str::split_byte and str::splitn_byte so that they handle
splitting UTF-8 strings on a given UTF-8/ASCII byte and also handle ""
as the others do
2012-02-07 16:25:35 -08:00
Tim Chevalier
a63780afce
Minor class-related tweaks to the AST
2012-02-07 12:15:59 -08:00
Marijn Haverbeke
47143ee24a
Stop storing cmp glue in tydescs
...
There's no such thing anymore, we can simply call upcalls.cmp_type.
2012-02-07 14:37:10 +01:00