title: Compilation error: can't find crate for `core`
body: <p>I'm using Rust 1.35.0 to try out some Rust examples and I could not get it to compile, as I keep getting the following message:</p>
  
  <pre class="lang-none prettyprint-override"><code>error[E0463]: can't find crate for `core`
  </code></pre>
  
  <p>I ran <code>rustc --explain E0463</code> and I see the following message:</p>
  
  <pre class="lang-none prettyprint-override"><code>You need to link your code to the relevant crate in order to be able to use it
  (through Cargo or the `-L` option of rustc example). Plugins are crates as
  well, and you link to them the same way.
  </code></pre>
  
  <p>Here is my Cargo.toml:</p>
  
  <pre><code>[package]
  name = "sensor-node"
  version = "0.1.0"
  authors = ["joesan &lt;email@gmail.com&gt;"]
  edition = "2018"
  
  [dependencies]
  dwm1001 = "0.1.0"
  panic-halt = "0.2.0"
  nb = "0.1.1"
  </code></pre>
  
  <p>Here is my main.rs:</p>
  
  <pre><code>fn main() {
      let s = String::from("hello");  // s comes into scope
  
      takes_ownership(s);             // s's value moves into the function...
                                      // ... and so is no longer valid here
  
      let x = 5;                      // x comes into scope
  
      makes_copy(x);                  // x would move into the function,
                                      // but i32 is Copy, so it’s okay to still
                                      // use x afterward
  
  } // Here, x goes out of scope, then s. But because s's value was moved, nothing
    // special happens.
  
  fn takes_ownership(some_string: String) { // some_string comes into scope
      println!("{}", some_string);
  } // Here, some_string goes out of scope and `drop` is called. The backing
    // memory is freed.
  
  fn makes_copy(some_integer: i32) { // some_integer comes into scope
      println!("{}", some_integer);
  } // Here, some_integer goes out of scope. Nothing special happens.
  </code></pre>