drbawb/rust-story — pull request #5 by drbawb (2014-02-24 21:53:40+00:00)
Title: Remove Rc<RefCell<>>

This patch does a few things to clean up the codebase:

* The 2D vector of reference counted tiles (`Rc`) is replaced w/ plain-old `Tile`
* `Tile` is pretty darn small. I haven't profiled, but I'd imagine it must be smaller than the Rc/Arc I was wrapping it with.
* `Tile` now owns an `Option> instead of `Rc>`
* This makes `Map` impl. `Send` again.
* This removes runtime borrow-checking from the map class.
* `Game` no longer needs an unsafe destructor, as `Map` can be sent.
* This is the main reason I'm merging this. Never liked having to use #[unsafe_destructor]...)

My understanding is that:
* This means all members of `Game` could [in theory] be sent to separate tasks.