about summary refs log tree commit diff
path: root/src/rustc/util
AgeCommit message (Collapse)AuthorLines
2012-11-07Rename src/rustc to src/librustc. Use the driver crateBrian Anderson-553/+0
2012-11-06Cleanup how we handle proto in types, remove unsound subtypingNiko Matsakis-38/+55
Fixes #1896 which was never truly fixed, just masked. The given tests would have failed had they used `~fn()` and not `@fn()`. They now result in compilation errors. Fixes #2978. Necessary first step for #2202, #2263.
2012-11-05rustc: Implement parsing and typechecking for "once fn"Patrick Walton-9/+31
2012-10-24Implement proper subtyping for region fn types (part of #2263)Niko Matsakis-4/+6
2012-10-23Remove <- operator from the compilerTim Chevalier-2/+2
Yield an obsolete syntax error on things like "let foo <- bar;" and "foo <- bar;" r=brson Progress on #3466
2012-10-22Preliminary support for labeled break/continue for `loop`sTim Chevalier-16/+13
This patch adds preliminary middle-end support (liveness and trans) for breaks and `loop`s to `loop` constructs that have labels. while and for loops can't have labels yet. Progress on #2216
2012-10-18libcore: minor code cleanup.Erick Tryzelaar-9/+4
This is minor and probably completely inconsequential to performance, but I find vec::map to be more clear than vec::each and a push.
2012-10-15rustc: Merge module and type namespaces. r=brsonPatrick Walton-8/+6
2012-10-11Remove obsolete commentTim Chevalier-2/+0
2012-10-11Remove obsolete FIXMETim Chevalier-2/+0
2012-09-26Demode vec::push (and convert to method)Niko Matsakis-4/+4
2012-09-26fix issue #3535 and add colon between mode and type when dumping funcion ↵Vincent Belliard-1/+1
prototype
2012-09-21De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachiNiko Matsakis-2/+2
2012-09-19demode the each() method on vec and other iterables.Niko Matsakis-4/+5
2012-09-18rustc: Remove legacy mode inference, unless #[legacy_modes] is usedPatrick Walton-1/+1
2012-09-12trans: overhaul match bindings. No more phi, one code path for guards.Niko Matsakis-4/+4
Fixes #3256. Fixes #3291.
2012-09-11Introduce auto adjustment table to subsume autoderef/autoref/borrowings.Niko Matsakis-4/+9
Fixes #3261 Fixes #3443
2012-09-11Promote 'struct' from a restricted keyword to a strict keywordBrian Anderson-2/+2
2012-09-11Make moves explicit in rustcTim Chevalier-1/+1
2012-09-10Convert std::map to camel caseBrian Anderson-3/+3
2012-09-07Remove 'let' syntax for struct fieldsBrian Anderson-1/+1
2012-09-07Don't check impl ty params for equality with trait ty paramsTim Chevalier-1/+18
This was too restrictive. We need to check the number of ty params, and that the bounds are equal, but otherwise require_same_types does the job. Closes #2611
2012-09-07Refactor fn_ty, working towards #3320Niko Matsakis-5/+6
2012-09-06Refactor ty_var and ty_var_integral into one ty_infer variantNiko Matsakis-3/+2
2012-09-06Remove struct ctorsBrian Anderson-1/+6
2012-09-06Refactor trans to replace lvalue and friends with Datum.Niko Matsakis-4/+7
Also: - report illegal move/ref combos whether or not ref comes first - commented out fix for #3387, too restrictive and causes an ICE
2012-09-04Remove 'with'Brian Anderson-1/+1
2012-09-04rustc: "import" -> "use"Patrick Walton-27/+27
2012-08-26Camel case the option typeBrian Anderson-25/+25
2012-08-25Fix more unused variable warningsBrian Anderson-3/+3
2012-08-24Start using core::path2::Path in a lot of places.Graydon Hoare-0/+3
2012-08-23`m1!{...}` -> `m1!(...)`Paul Stansifer-26/+26
2012-08-22intern identifiersPaul Stansifer-8/+11
2012-08-21more sound treatment of fn& regions; change all & to be distinctNiko Matsakis-10/+16
2012-08-20new region inference, seperate infer into modules, improve error msgsNiko Matsakis-38/+57
Fixes #2806 Fixes #3197 Fixes #3138
2012-08-17Remove the class keywordBrian Anderson-1/+1
2012-08-15rustc: Parse labeled loop, break, and againPatrick Walton-2/+2
2012-08-15rustc: "as Trait" can now be written "as @Trait".Patrick Walton-2/+3
There is also code for ~Trait and &Trait, but these are currently (incorrectly) synonyms for "as @Trait" and "as &Trait".
2012-08-13Change borrowck error 'the the block' -> 'the block'Ben Blum-1/+1
2012-08-13rustc: Mostly implement region-bounded stack closuresPatrick Walton-2/+12
2012-08-10Revert "rustc: Make function types have vstores in them"Patrick Walton-10/+2
This reverts commit 0101125a962abae18525d6014cd26ad10bbb96e6.
2012-08-10rustc: Make function types have vstores in themPatrick Walton-2/+10
2012-08-07improve borrowck error messages to explain regions betterNiko Matsakis-9/+9
2012-08-07syntax: Rename expr_alt to expr_matchBrian Anderson-2/+2
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-21/+21
2012-08-05Switch alts to use arrowsBrian Anderson-71/+84
2012-08-01Convert ret to returnBrian Anderson-13/+13
2012-07-31change how we print and explain region typesNiko Matsakis-3/+67
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-29/+29
2012-07-30Fix #2979: inference for lifetimes of & expressionsNiko Matsakis-3/+4
What we now do is to create a region variable for each & expression (and also each borrow). The lifetime of this variable will be checked by borrowck to ensure it is not greater than the lifetime of the underlying data. This both leads to shorter lifetimes in some cases but also longer in others, such as taking the address to the interior of unique boxes tht are rooted in region pointers (e.g., returning a pointer to the interior of a sendable map). This may lead to issue #2977 if the rvalue is not POD, because we may drop the data in trans sooner than borrowck expects us to. Need to work out precisely where that fix ought to occur.