summary refs log tree commit diff
path: root/src/rustc/middle/borrowck.rs
AgeCommit message (Collapse)AuthorLines
2012-10-05Remove uses of mutable ref mode.Tim Chevalier-3/+3
It's still in the compiler right now, but warned about
2012-10-05Revert "wip"Tim Chevalier-3/+3
This reverts commit ca49fd402af8e7bf613c43e996274b5a017958d2.
2012-10-05wipTim Chevalier-3/+3
2012-10-02libstd: Switch off legacy modes in both core and std.Patrick Walton-1/+1
2012-09-23Register snapshots. Remove redundant Eq impls, Makefile hacksBrian Anderson-67/+0
2012-09-20rustc: De-mode all overloaded operatorsPatrick Walton-0/+67
2012-09-19Remove redundant hashmap constructor functions.Graydon Hoare-2/+2
2012-09-12fixup mutability of vec::each, make iter_bytes pureNiko Matsakis-1/+1
also, change DVec() to work with imm vectors rather than mut ones
2012-09-11Introduce auto adjustment table to subsume autoderef/autoref/borrowings.Niko Matsakis-16/+14
Fixes #3261 Fixes #3443
2012-09-11Make moves explicit in rustcTim Chevalier-1/+1
2012-09-10Convert std::map to camel caseBrian Anderson-6/+6
2012-09-07Convert all kind bounds to camel case. Remove send, owned keywords.Brian Anderson-1/+1
2012-09-07Migrate std::map to use core::hash::Hash trait. Disable many hokey hashes.Graydon Hoare-1/+17
2012-09-07rustc: Add an "ne" method to the Eq trait, and implement it everywherePatrick Walton-0/+2
2012-09-06Refactor trans to replace lvalue and friends with Datum.Niko Matsakis-28/+58
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-04std: Camel case listBrian Anderson-1/+1
2012-09-04rustc: "import" -> "use"Patrick Walton-17/+17
2012-08-29rustc: Make `<` and `=` into traitsPatrick Walton-0/+50
2012-08-27Camel case various core constructorsBrian Anderson-1/+1
2012-08-27Convert core::result to camel caseBrian Anderson-4/+4
2012-08-26Camel case the option typeBrian Anderson-3/+3
2012-08-23`m1!{...}` -> `m1!(...)`Paul Stansifer-19/+19
2012-08-15Convert more core types to camel caseBrian Anderson-2/+2
2012-08-08Convert impls to new syntaxBrian Anderson-2/+2
2012-08-08refactor categorization out of borrowck into its own module.Niko Matsakis-202/+45
first step towards #3148 and #3024.
2012-08-07improve borrowck error messages to explain regions betterNiko Matsakis-9/+9
2012-08-06first shot at integrating ref/value bindings into borrowckNiko Matsakis-0/+6
(more needed)
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-14/+14
2012-08-05Switch alts to use arrowsBrian Anderson-65/+59
2012-08-02Remove modes from map API and replace with regions.Niko Matsakis-2/+2
API is (for now) mostly by value, there are options to use it by reference if you like. Hash and equality functions must be pure and by reference (forward looking to the day when something like send_map becomes the standard map).
2012-08-01Convert ret to returnBrian Anderson-3/+3
2012-07-31Change remaining "iface" occurrences to "trait"; deprecate "iface"Lindsey Kuper-1/+1
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-35/+35
2012-07-30Fix #2979: inference for lifetimes of & expressionsNiko Matsakis-20/+35
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.
2012-07-17borrow from @[] vectors (cc #2797)Niko Matsakis-145/+213
2012-07-17rustc: Implement and enforce instance coherencePatrick Walton-13/+22
2012-07-14Tear out ty_str and ty_vec.Michael Sullivan-2/+2
2012-07-14Move the world over to using the new style string literals and types. Closes ↵Michael Sullivan-52/+52
#2907.
2012-07-12Obliterate the callee_id hackTim Chevalier-1/+0
Exprs that could be applications of overloaded operators (expr_unary, expr_binary, expr_index) relied on the previous node ID being "reserved" to carry extra typechecking info. This was incredibly error-prone. Fixed it; now all exprs have two node IDs (which will be wasted in some cases; future work could make this an option instead if the extra int field ends up being a performance problem). Closes #2804
2012-07-11add ability to report statistics about how borrowck is being usedNiko Matsakis-2/+35
2012-07-09change borrowck error msg: 'declared in outer block' -> 'captured in a ↵Ben Blum-2/+4
closure' (properly this time)
2012-07-08Revert "change borrowck error msg: 'declared in outer block' -> 'captured in ↵Brian Anderson-4/+2
a closure'" This change requires some tests to be updated. This reverts commit b5b8f5efccc3f39be807dd2e060e913ff263b73d.
2012-07-06change borrowck error msg: 'declared in outer block' -> 'captured in a closure'Ben Blum-2/+4
2012-07-04convert doc-attributes to doc-comments using ↵Gareth Daniel Smith-150/+148
./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498
2012-07-01Convert to new closure syntaxBrian Anderson-1/+1
2012-06-29Switch the compiler over to using ~[] notation instead of []/~. Closes #2759.Michael Sullivan-1/+1
2012-06-24Remove resourcesTim Chevalier-4/+1
Also fixed shapes for classes with dtors, as well as handling offsets for classes with dtors correctly in take glue. Closes #2485
2012-06-21Issue #2657: track mutability of bindings, also prevent move from bindingsNiko Matsakis-0/+9
2012-06-17Issue #2633: remove last_use entries that are subject to a loanNiko Matsakis-0/+3