about summary refs log tree commit diff
path: root/src/libcore/mutable.rs
AgeCommit message (Collapse)AuthorLines
2013-04-02Removed libcore/mutable.rs, Mut<T> is now dead.Matthijs Hofstra-95/+0
2013-04-02Removed mut-fields from Mut, removed borrow_const from MutMatthijs Hofstra-70/+7
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-7/+7
2013-03-22libcore: Remove `pure` from libcore. rs=depurePatrick Walton-1/+1
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-4/+2
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-7/+7
2013-03-04De-implicit-self libcoreBen Striegel-3/+3
2013-02-28librustc: Mark all type implementations public. rs=impl-publicityPatrick Walton-1/+1
2013-02-15libcore: Get rid of `move`.Luqman Aden-3/+3
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-2/+2
2013-02-07Make ~fn non-copyable, make &fn copyable, split barefn/closure types,Niko Matsakis-2/+0
correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719.
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-4/+4
2012-12-18core: add unwrap methods to dvec, either, and mutableErick Tryzelaar-0/+3
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-18Made Map.contains_key, contains_key_ref, and get pure.Jesse Jones-1/+1
2012-10-12Make moves explicit in core testsTim Chevalier-2/+2
2012-10-04Forbid deprecated modes again in coreTim Chevalier-1/+1
Sadly, there's only one file that requires deprecated modes (stackwalk)... So, forbid them everywhere else.
2012-10-02Removing explicit uses of + modeTim Chevalier-4/+3
This removes most explicit uses of the + argument mode. Pending a snapshot, I had to remove the forbid(deprecated_modes) pragma from a bunch of files. I'll put it back! + mode still has to be used in a few places for functions that get moved (see task.rs) The changes outside core and std are due to the to_bytes trait and making the compiler (with legacy modes on) agree with the libraries (with legacy modes off) about modes.
2012-09-28core: Demode patternsBrian Anderson-2/+2
2012-09-26libcore: De-export cleanup, cmath, future, gc, hash, iter-trait, mutable, ↵Patrick Walton-12/+11
and private
2012-09-18core: Rename 'unsafe' mod to 'cast'Brian Anderson-1/+1
2012-09-10Make all moves explicit in libsyntaxTim Chevalier-1/+1
2012-09-10Rename the poorly named Managed<T> type to Mut<T>.Niko Matsakis-0/+151
The Mut<T> type is intended to allow freezable data stuctures to be stored in `@mut` boxes. Currently this causes borrowck to be very conserivative since it cannot prove that you are not modifying such a structure while iterating over it, for example. But if you do `@Mut<T>` instead of `@mut T`, you will effectively convert borrowck's static checks into dynamic ones. This lets you use the e.g. send_map just like a Java Map or something else.