about summary refs log tree commit diff
path: root/src/comp/util
AgeCommit message (Collapse)AuthorLines
2012-03-02Move src/comp to src/rustcGraydon Hoare-442/+0
2012-02-23(core::str) remove len_bytes aliasKevin Cantu-2/+2
2012-02-23(core::str) replace uses of unsafe::slice_bytes; replace find[_from]_bytes ↵Kevin Cantu-1/+1
with find[_from]
2012-02-22Remove preconditions from librariesMarijn Haverbeke-2/+0
Closes #1805
2012-02-20Further work on resolving and typechecking classesTim Chevalier-1/+1
Class tests aren't working yet, but they fail a little later :-) Also, make the parser correctly set a constructor's result type to its enclosing class type.
2012-02-20cargo: Use $sysroot/$libdir/cargo as work dirTycho Sci-3/+3
On win32 environment, it's "$sysroot/bin/cargo". On unix-y environment, it's "$sysroot/lib/cargo".
2012-02-15make mut a keyword synonymous with mutableNiko Matsakis-6/+5
first step towards issue #1273
2012-02-12(core::str) rename byte_len -> len_bytes and rename char_len -> lenKevin Cantu-1/+1
2012-02-10use absolute names when pretty-printing typesNiko Matsakis-19/+25
2012-02-10put serializer into the build and encode full item pathsNiko Matsakis-0/+10
2012-02-09cargo: 2 modes -> 3 modes, and clarify themTycho Sci-3/+9
* -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-09cargo: Add local mode and use it by defaultTycho Sci-0/+37
2012-02-09Remove some pointless importsMarijn Haverbeke-9/+1
2012-02-07core: make str::substr use char positions (and replace other uses)Kevin Cantu-2/+2
2012-02-06Make ty::t type self-sufficientMarijn Haverbeke-8/+8
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-05don't fail if inference is not completeNiko Matsakis-5/+12
2012-02-05infer modes rather than overwriting with expected tyNiko Matsakis-20/+6
2012-02-03Store item paths in ast_map, get rid of trans::local_ctxtMarijn Haverbeke-4/+2
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.
2012-02-01Remove support for native typesMarijn Haverbeke-1/+0
Issue #1673
2012-01-31Change option::t to optionTim Chevalier-6/+6
Now that core exports "option" as a synonym for option::t, search-and- replace option::t with option. The only place that still refers to option::t are the modules in libcore that use option, because fixing this requires a new snapshot (forthcoming).
2012-01-31Require alts to be exhaustiveTim Chevalier-2/+2
middle::check_alt does the work. Lots of changes to add default cases into alts that were previously inexhaustive.
2012-01-30Change all ternary ops to if/then/elsePaul Woolcock-2/+2
All the files below had at least one instance of the ternary operator present in the source. All have been changed to the equivalent if/then/else expression.
2012-01-27Merge remote-tracking branch 'killerswan/fixing_strings_2'Brian Anderson-1/+1
Conflicts: src/comp/driver/driver.rs src/comp/middle/trans/base.rs src/comp/syntax/parse/lexer.rs
2012-01-26Remove ty_native_fnMarijn Haverbeke-4/+0
It was being used as a clumsy synonym of ty_fn.
2012-01-25Rename tag to enum throughout the compilerMarijn Haverbeke-1/+1
This should reduce confusion of people trying to read the code.
2012-01-25Replacing str::unsafe_from_bytes with str::from_bytes (part 3)Kevin Cantu-1/+1
2012-01-23s/block()/fn()/gNiko Matsakis-1/+1
2012-01-19Remove support for the '.' after a nullary tag in a patternTim Chevalier-1/+1
(Commit also includes lots of changes to remove '.'s that a git merge messed up, or else it was monkeys.)
2012-01-18Remove '.' after nullary tags in patternsTim Chevalier-26/+26
Does what it says on the tin. The next commit will remove support for this syntax.
2012-01-16When pretty-printing fn types, leave off arg modes when they are the defaultMarijn Haverbeke-2/+10
This reduces ++/&& spam in the output to a bare minimum. Issue #1507
2012-01-14build: Build libraries in the bin directory on win32Brian Anderson-3/+14
2012-01-13Obj system? What obj system?Marijn Haverbeke-5/+0
Removes the obj system from the compiler. Closes #1484
2012-01-13Remove all remaining uses of objs from the compilerMarijn Haverbeke-12/+13
2012-01-12Revert "build: Build libraries in the bin directory on win32"Brian Anderson-14/+3
This reverts commit 23e0d16b5fd259dc252b220777f164f1e2eb9c30.
2012-01-12build: Build libraries in the bin directory on win32Brian Anderson-3/+14
2012-01-11Revert "build: Build libraries in the bin directory on win32"Brian Anderson-14/+3
This reverts commit c00ec5f9c936639ec2fd9291cd484afa56aa24c8.
2012-01-11build: Build libraries in the bin directory on win32Brian Anderson-3/+14
2012-01-06rustc: Use std::homedir to locate /home/bandersonBrian Anderson-4/+4
Issue #1359
2012-01-05rustc: Add cargo's lib directory to search pathsBrian Anderson-0/+25
2012-01-05Merge branch 'master' into kmathStefan Plantikow-2/+2
Conflicts: src/libcore/float.rs
2012-01-05Moved generic float::min, max to core::math and cleaned up some importsStefan Plantikow-2/+1
2012-01-05Switch to new param kind bound syntaxMarijn Haverbeke-2/+2
And remove support for the old syntax
2012-01-04Properly typecheck and compile invocations of generic methods.Marijn Haverbeke-4/+0
Aligning the type parameters of the ifaces, impls, and methods correctly in typeck is almost brain surgery. Seems to work now for everything I threw at it, but might still break in other corner cases. Issue #1227
2012-01-02Add a clause ty_ptr to ppaux::ty_to_strMarijn Haverbeke-0/+1
Closes #1383
2011-12-29split proto from fn_decl, as not all fn_decls know the proto.Niko Matsakis-4/+0
this will address the (crashing) new test added.
2011-12-23Use the same type of record in ty::ty_fn and ty::methodMarijn Haverbeke-4/+5
Removes some more code duplication.
2011-12-22Register new snapshots, purge log_err and log_full in favour of log(...).Graydon Hoare-9/+9
2011-12-22Merge branch 'master' of github.com:graydon/rustGraydon Hoare-9/+0
2011-12-22Register snapshots and switch logging over to use of log_full or #error / ↵Graydon Hoare-16/+34
#debug.
2011-12-22Unify some data structures in syntax::ast that were doing the same thingMarijn Haverbeke-8/+0
As a preparation to removing some duplication in typeck.