Ownership guide

This is a work in progress, but this should get *extensive* review, so I'm putting it up early and often.

This is the start of a draft of the new 'ownership guide,' which explains ownership, borrowing, etc. I'm feeling better about this framing than last time's, but we'll see.
I was really tempted to write it, but had the same wonder.

Sent from my iPhone

> On Nov 4, 2014, at 13:56, Huon Wilson <notifications@github.com> wrote:
> 
> In src/doc/guide-ownership.md:
> 
> > +
> > +# Meta
> > +
> > +Before we get to the details, two important notes about the ownership system.
> > +
> > +Rust has a focus on safety and speed. It accomplishes these goals through "zero
> > +cost abstractions," which means that in Rust, abstractions cost as little as
> > +possible in order to make them work. The ownership system is a prime example of
> > +a zero-cost abstraction. All of the analysis we'll talk about in this guide is
> > +_done at compile time_. You do not pay any run-time cost for all of these
> > +features.
> > +
> > +However, this system does have a certain cost: learning curve. Many new users
> > +to Rust experience something we like to call "fighting with the borrow
> > +checker," where the Rust compiler refuses to compile a program that the author
> > +thinks is valid. You probably will experience similar things at first. There is
> Is it worth putting something like "(experience has shown that the compiler is often right)" here, or is that too twerpish?
> 
> \
> Reply to this email directly or view it on GitHub.