3902 Commits

Author SHA1 Message Date
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
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
Marijn Haverbeke
b28a5552e3 Reuse monomorphized functions for different box types
The free glue for opaque boxes will pick the actual tydesc out of the
box, and call its glue.

Issue #1736
2012-02-07 14:36:02 +01:00
Brian Anderson
3bd0338c19 Revert "log to stderr instead of stdout"
This is causing mysterious hangs on windows. Issue #1769.

This reverts commit d65eabd5de4c41e4bc93b9c6c03d6278299ceb76.
2012-02-06 18:29:58 -08:00
Jyun-Yan You
5563eab227 change gcc_args to cc_args and make win32 use gcc 2012-02-06 17:57:22 -08:00
Jyun-Yan You
98bb5b73a5 use cc instead of gcc 2012-02-06 17:56:41 -08:00
Marijn Haverbeke
87a488048d Make keyword table in reference reflect reality more closely
And remove the part about reserved words.
2012-02-06 22:03:17 +01:00
Marijn Haverbeke
a08e589390 Handle built-in typenames in the resolve pass, rather than in parser
Closes #1728

Comments out a section of debuginfo.rs. This code was already broken
(only being called when --xg was passed, and only working on trivial
programs).
2012-02-06 17:06:19 +01:00