about summary refs log tree commit diff
path: root/src/rustc
AgeCommit message (Collapse)AuthorLines
2012-03-12stdlib: Make list::find do what the docs say it does.Patrick Walton-2/+20
Talked on #rust about this change, got approval from graydon and brson. Will bring up tomorrow at meeting to verify.
2012-03-12rustc: Add node IDs to AST types so we can associate them with region ↵Patrick Walton-37/+84
environments
2012-03-12Revert "rustc: Add node IDs to AST types so we can associate them with ↵Patrick Walton-75/+34
region environments" This reverts commit 96e1bbd4a0abd2c8e76e7e02b396c5319dea7a8d.
2012-03-12rustc: Add node IDs to AST types so we can associate them with region ↵Patrick Walton-34/+75
environments
2012-03-12rustc: Use the name map to resolve region namesPatrick Walton-2/+2
2012-03-12rustc: Map region names to their functions. Also speed up region checking by ↵Patrick Walton-42/+65
17x.
2012-03-12rustc: Refactor regions to handle nested functions properly and fix the ↵Patrick Walton-105/+100
subtyping relation
2012-03-11Improve a typechecker error message (wrong type for main())Tim Chevalier-4/+5
As per #1903, state what type is expected for main(). Closes #1903
2012-03-11rustc: Record the parent function of each functionPatrick Walton-4/+23
2012-03-11rustc: Fix long linesPatrick Walton-7/+9
2012-03-11rustc: Turn on errors for region checkingPatrick Walton-5/+3
2012-03-11rustc: Unify regions in most cases. (Nested functions aren't properly ↵Patrick Walton-5/+67
handled yet.)
2012-03-11rustc: Determine regions for localsPatrick Walton-2/+49
2012-03-11rustc: Map local variables to their containing blocks so we know their regionsPatrick Walton-8/+85
2012-03-10Clean up occurs check code and give non-breaking loop {..}s _|_ typeTim Chevalier-19/+11
The latter change is so that code dominated by a loop{ } without a break gets considered unreachable. The former change is just cosmetic (occurs_check_fails was a predicate when it should be a unit-typed function that can fail).
2012-03-10In typestate, consider infinite loops w/ conts to be infiniteTim Chevalier-1/+19
If a loop { } contains a cont, that doesn't affect whether the entire loop diverges. Only breaks affect that. Fix that in typestate.
2012-03-10Use loop instead of while(true) in libraries and compiler itselfTim Chevalier-51/+41
And remove spurious fails/unreachable() calls.
2012-03-10Handle infinite-loop poststate correctly in typestateTim Chevalier-1/+1
If control passes an infinite loop (that doesn't have non-local exits), then everything is true.
2012-03-10core: Remove the nearly empty math moduleBrian Anderson-3/+2
This mod only had two functions, all of whose users have been changed to use the uint module.
2012-03-10core: Rename vec::tail_n to vec::tailn to match other fnsBrian Anderson-2/+2
2012-03-09Merge branch 'master' into floop-for-snapshotTim Chevalier-0/+74
2012-03-09rustc: Add a region checking passPatrick Walton-0/+74
Errors aren't reported yet, because the regions aren't properly inferred from the & operator at the moment and that would break the tests.
2012-03-09Add an infinite loop constructTim Chevalier-62/+148
Add a loop {} construct for infinite loops, and use it in test cases. See #1906 for details.
2012-03-09rustc: Perform region inferencePatrick Walton-2/+154
2012-03-09rustc: Wrap regions in a node IDPatrick Walton-841/+877
2012-03-09rustc: Add region def ids to the ASTPatrick Walton-3/+28
2012-03-09Revert "rustc: Create def IDs for region parameters"Patrick Walton-899/+841
This reverts commit 0d4cb759494f9589ba57c4f2c41f5a5737ab74e0.
2012-03-09rustc: Create def IDs for region parametersPatrick Walton-841/+899
2012-03-08rustc: Stub a to-string implementation for region typesPatrick Walton-0/+8
Not too useful without region resolution yet, but there it is.
2012-03-08rustc: Add pretty printing support for the address-of operator. ↵Patrick Walton-1/+14
Un-XFAIL-pretty simple-regions.rs.
2012-03-08rustc: Add appropriate type predicates for references. Simple uses of ↵Patrick Walton-3/+4
references/region pointers now work.
2012-03-08rustc: Actually write the type backPatrick Walton-0/+1
2012-03-08rustc: Change the address-of operator to an explicit production so that we ↵Patrick Walton-55/+97
can parse the mutability
2012-03-08rustc: Add some missing cases in various folds for reference types and some ↵Patrick Walton-3/+19
broken trans code for the address-of operator
2012-03-08Rename last to last_opt, last_unsafe to lastTim Chevalier-8/+10
As per discussion on IRC. I am about to file an RFC for further discussion about the more general issue of whether to enforce invariants through types, typestate, or dynamic checks, but for now, removing the misleading name "last_unsafe".
2012-03-08rustc: Typecheck dereference operations on safe references.Patrick Walton-0/+7
They require unsafe blocks for now. This will be removed once they typecheck properly.
2012-03-08rustc: Stub typechecking for the address-of operatorPatrick Walton-1/+3
2012-03-08Change util::unreachable to core::unreachableTim Chevalier-9/+9
Closes #1931
2012-03-08rustc: Add ty_rptr support to the visitorPatrick Walton-0/+1
2012-03-08rustc: Add regions to the type systemPatrick Walton-5/+57
2012-03-08Rename last_total to last_unsafeTim Chevalier-2/+7
See Issue 1943 for any discussion (reopen it if necessary). Closes #1943
2012-03-08rustc: represend -> represent in a commentPatrick Walton-1/+1
2012-03-08Properly serialize is_last_use valuesMarijn Haverbeke-3/+119
They were all normalized to the same thing by the serializer.
2012-03-08Explicitly store self_ids use for self locals in methodsMarijn Haverbeke-42/+62
This makes it possible to move them between crates without confusion, and to instantiate them at a point where the monomorphizing substitutions are known. Issue #1944
2012-03-08Drop collect_items pass, create decls on demandMarijn Haverbeke-326/+290
This solves a problem with inlined functions that have inner functions.
2012-03-08rustc: Parse the safe address-of operatorPatrick Walton-0/+6
2012-03-08rustc: Add the safe address-of operator to the ASTPatrick Walton-2/+18
2012-03-08rustc: Parse region typesPatrick Walton-0/+20
2012-03-08rustc: Add region-annoted type parameters to the AST; stub associated patternsPatrick Walton-832/+931
2012-03-07Fix #1941: inlining of items that themselves contain nested itemsNiko Matsakis-5/+82
The fix is to drop nested items from the encoded AST. Nested items may themselves be inlined, but that is an independent question.