title: Rust/Diesel: How to query and insert into postgres tables which have uuid
body: <p>I have the following schema generated by Diesel:</p>
  
  <pre><code>table! {
  user (id) {
      id -&gt; Uuid,
      name -&gt; Text
  }
  </code></pre>
  
  <p>and the associated model</p>
  
  <pre><code>use diesel::{
      self,
      Queryable,
      Insertable,
  };
  use diesel::prelude::*;
  use diesel::sql_types::Uuid;
  use super::schema::user;
  
  #[derive(Queryable)]
  pub struct User {
      pub id: Uuid,
      pub name: String,
  }
  
  impl User {
  
      pub fn get(id: i32, connection: &amp;PgConnection) -&gt; Vec&lt;User&gt; {
          user::table.load::&lt;User&gt;(connection).unwrap()
      }
  }
  </code></pre>
  
  <p>I get an error when I try to compile this which says:</p>
  
  <pre class="lang-none prettyprint-override"><code>21 |         user::table.load::&lt;User&gt;(connection).unwrap()                                                                                                                              
     |                         ^^^^ the trait `diesel::Queryable&lt;diesel::sql_types::Uuid, diesel::pg::Pg&gt;` is not implemented for `diesel::sql_types::Uuid` 
  </code></pre>
  
  <p>If I try to insert I get a similar error saying that <code>Expression</code> is not implemented.</p>
  
  <p>Could this be a problem with my dependencies or something I may have forgotten to add to the model?</p>
  
  <pre><code>[dependencies]
  rocket = "0.4.0-rc.1"
  serde = "1.0"
  serde_derive = "1.0"
  serde_json = "1.0"
  diesel = { version = "1.0.0", features = ["postgres", "uuid"] }
  r2d2 = "*"
  r2d2-diesel = "*"
  
  [dependencies.rocket_contrib]
  version = "0.4.0-rc.1"
  default-features = false
  features = ["json", "diesel_postgres_pool", "uuid"]
  </code></pre>