diff --git a/doc/rust.md b/doc/rust.md
index 9b7e87c7c49..74b7a1eb3ff 100644
--- a/doc/rust.md
+++ b/doc/rust.md
@@ -1032,7 +1032,7 @@ accessed through the components `x` and `y`, and laid out in memory with the
 An _enumeration item_ simultaneously declares a new nominal
 [enumerated type](#enumerated-types) as well as a set of *constructors* that
 can be used to create or pattern-match values of the corresponding enumerated
-type. Note that `enum` previously was refered to as a `tag`, however this
+type. Note that `enum` previously was referred to as a `tag`, however this
 definition has been deprecated. While `tag` is no longer used, the two are 
 synonymous.
 
@@ -1622,7 +1622,7 @@ fn avg(v: [float]) -> float {
 ~~~~
 
 A cast is a *trivial cast* iff the type of the casted expression and the
-target type are identical after replacing all occurences of `int`, `uint`,
+target type are identical after replacing all occurrences of `int`, `uint`,
 `float` with their machine type equivalents of the target architecture in both
 types.
 
@@ -3131,7 +3131,7 @@ state. In this state it executes the statements of its entry function, and any
 functions called by the entry function.
 
 A task may transition from the *running* state to the *blocked* state any time
-it makes a blocking recieve call on a port, or attempts a rate-limited
+it makes a blocking receive call on a port, or attempts a rate-limited
 blocking send on a channel. When the communication expression can be completed
 -- when a message arrives at a sender, or a queue drains sufficiently to
 complete a rate-limited send -- then the blocked task will unblock and
@@ -3302,7 +3302,7 @@ As an example, to see all the logs generated by the compiler, you would set
 you would set it to `rustc::metadata::creader`. To see just error logging
 use `rustc=0`.
 
-Note that when compiling either `.rs` or `.rc` files that don't specifiy a
+Note that when compiling either `.rs` or `.rc` files that don't specify a
 crate name the crate is given a default name that matches the source file,
 with the extension removed. In that case, to turn on logging for a program
 compiled from, e.g. `helloworld.rs`, `RUST_LOG` should be set to `helloworld`.
@@ -3390,7 +3390,7 @@ have come and gone during the course of Rust's development:
 
 * The Newsqueak (1988), Alef (1995), and Limbo (1996) family. These
   languages were developed by Rob Pike, Phil Winterbottom, Sean Dorward and
-  others in their group at Bell labs Computing Sciences Reserch Center
+  others in their group at Bell labs Computing Sciences Research Center
   (Murray Hill, NJ, USA).
 
 * The Napier (1985) and Napier88 (1988) family. These languages were