Commit Graph

3887 Commits

Author SHA1 Message Date
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 d65eabd5de.
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
Marijn Haverbeke
8673c4f195 Make ty::t type self-sufficient
It is now no longer needed to have a ty::ctxt to get at the contents
of a ty::t. The straight-forward approach of doing this, simply making
ty::t a box type, unfortunately killed our compiler performance (~15%
slower) through refcounting cost. Thus, this patch now represents
ty::t as an unsafe pointer, assuming that the ty::ctxt, which holds
these boxes alive, outlives any uses of the ty::t values. In the
current compiler this trivially holds, but it is does of course add a
new potential pitfall.

ty::get takes a ty::t and returns a boxed representation of the type.
I've changed calls to ty::struct(X) to do ty::get(X).struct. Type
structs are full of vectors, and copying them every time we wanted to
access them was a bit of a cost.
2012-02-06 16:53:25 +01:00
Marijn Haverbeke
6ed8d03784 Make sure iface_methods are set before they are accessed
Closes #1761
2012-02-06 09:56:42 +01:00
Ian D. Bollinger
d1158ca333 Removed sendfn from badwords and made the precedence of XOR between that of OR and AND. 2012-02-06 09:56:41 +01:00
Marijn Haverbeke
e0fa5cd2ed Self types for ifaces
This allows a 'Name:' to appear in front of an iface declaration's
name, which will cause 'Name' to refer to the self type (with the same
number of type parameters as the iface has) in the method signatures
of the iface. For example:

    iface F: functor<A> {
        fn fmap<B>(f: fn(A) -> B) -> F<B>;
    }

Issue #1718
2012-02-06 09:56:41 +01:00
Marijn Haverbeke
5c42e3df9c Allow non-semicolon-requiring expressions to be followed by .field
There is no valid expression that starts with a dot token (.5 is a number token),
so this introduces no ambiguities.

Issue #1716
2012-02-06 09:13:32 +01:00
Kevin Atkinson
b7ec2488ff Fix macro backtraces.
In addition add information about the macro doing the expansion, and
move the printing of the expansion backtrace from codemap::span_to_str
to the diagnostic code.  The backtrace is now more verbose and
includes information on the macro doing the expansion, in addition to
the expansion site.
2012-02-05 15:38:27 -08:00
Kevin Atkinson
1d855ebc51 Remove support for $(...) form of quasi-quotes, use #ast{...} instead. 2012-02-05 15:38:27 -08:00
Brian Anderson
91b6dc5c8e Merge remote-tracking branch 'erickt/master'
Conflicts:
	src/libcore/vec.rs
	src/libstd/getopts.rs
2012-02-05 15:15:21 -08:00
Niko Matsakis
966504c828 don't fail if inference is not complete 2012-02-05 10:06:27 -08:00
Niko Matsakis
7f12358656 resolve some merge failures 2012-02-05 09:56:10 -08:00
Niko Matsakis
77b06d24cd infer modes rather than overwriting with expected ty 2012-02-05 09:12:44 -08:00
Tim Chevalier
f3343b3571 Beginnings of front-end support for classes
Added class support to the parser, prettyprinter, fold, and visit.
(See Issue 1726.)

This is WIP -- the test case is xfailed, and attempting to compile
it will error out in resolve.
2012-02-03 22:47:35 -08:00
Ted Horst
d65eabd5de log to stderr instead of stdout
includes rustc diagnostics
runtest updated to check stderr for errors
2012-02-03 20:55:53 -08:00
Graydon Hoare
8fc624bc08 Fix various drift issues in the qq branch. 2012-02-03 20:54:18 -07:00
Kevin Atkinson
3604f36938 Implement folding of ast::ty. 2012-02-03 20:54:17 -07:00