| Age | Commit message (Collapse) | Author | Lines |
|
|
|
* 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
|
|
|
|
There's no such thing anymore, we can simply call upcalls.cmp_type.
|
|
The free glue for opaque boxes will pick the actual tydesc out of the
box, and call its glue.
Issue #1736
|
|
This is causing mysterious hangs on windows. Issue #1769.
This reverts commit d65eabd5de4c41e4bc93b9c6c03d6278299ceb76.
|
|
|
|
|
|
And remove the part about reserved words.
|
|
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).
|
|
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.
|
|
Closes #1761
|
|
OR and AND.
|
|
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
|
|
There is no valid expression that starts with a dot token (.5 is a number token),
so this introduces no ambiguities.
Issue #1716
|
|
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.
|
|
|
|
Conflicts:
src/libcore/vec.rs
src/libstd/getopts.rs
|
|
|
|
|
|
|
|
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.
|
|
includes rustc diagnostics
runtest updated to check stderr for errors
|
|
|
|
|
|
|
|
|
|
|
|
|
|
That is when a string that is part of a file needs to be parsed for a
reason, record that the string is a substr of the file rather than
using "<anon>" or "-" as the file name. This will eventually allow
pointing to the right location, for now it just uses a more
meaningful string for the filename.
|
|
The #(...) form is still supported for now.
|
|
as there may be more than one filemap with the same filename (in the
case of stdin for instance). This involved storing a pointer to the
filemap rather than the filename in location info such as
codemap::pos.
|
|
|
|
|
|
|
|
Note: the body is the part of the macro syntax between the {}.
|
|
That is:
x + $(foo) + y
becomes:
x + $0 + y
not:
x + $0 + y
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
and also to get the byte offset within a string from a span chpos.
|
|
|
|
|
|
It had been messed up by the pretty-printer at some point, and was
partially out of date.
|
|
Adds a --monomorpize flag to rustc to turn it on. You probably don't
want to use it yet, since it's broken in a whole bunch of ways, but it
successfully monomorphizes simple generic functions called from within
the crate.
Issue #1736
|
|
The direct motivation for this was that the monomorphizer needs to be
able to generate sane symbols for random items. The typechecker can
probably also use this in the future to provide more useful error
messages.
|