fix build and add self to anonymous trait
diff --git a/clang.rs b/clang.rs
index 9f50ba4..a20f2eb 100644
--- a/clang.rs
+++ b/clang.rs
@@ -1,6 +1,6 @@
 /* automatically generated by rust-bindgen */
 
-use libc::*;
+use core::libc::*;
 pub type CXIndex = *c_void;
 pub type Struct_CXTranslationUnitImpl = c_void;
 pub type CXTranslationUnit = *Struct_CXTranslationUnitImpl;
diff --git a/gen.rs b/gen.rs
index d178d8e..30a3cd9 100644
--- a/gen.rs
+++ b/gen.rs
@@ -1,4 +1,4 @@
-use io::WriterUtil;
+use core::io::WriterUtil;
 use std::map::HashMap;
 
 use syntax::ast;
@@ -37,7 +37,7 @@
 fn gen_rs(out: io::Writer, link: &Option<~str>, globs: &[Global]) {
     let ctx = GenCtx { ext_cx: base::mk_ctxt(parse::new_parse_sess(None), ~[]),
                        mut unnamed_ty: 0,
-                       keywords: syntax::parse::token::keyword_table()
+                       keywords: parse::token::keyword_table()
                      };
     ctx.ext_cx.bt_push(codemap::ExpandedFrom({
         call_site: dummy_sp(),
@@ -112,7 +112,7 @@
         }
     };
 
-    let views = ~[mk_import(&ctx, &[~"libc"])];
+    let views = ~[mk_import(&ctx, &[~"core", ~"libc"])];
     defs.push(mk_extern(&ctx, link, move vars, move funcs));
 
     let crate = @dummy_spanned({
@@ -330,7 +330,7 @@
     );
     let union_def = mk_item(ctx, rust_id(ctx, move name).first(), move def);
 
-    let expr = quote_expr!(cast::reinterpret_cast(&ptr::to_unsafe_ptr(&self)));
+    let expr = quote_expr!(cast::reinterpret_cast(&ptr::to_unsafe_ptr(self)));
     let mut unnamed = 0;
     let fs = do fields.map |f| {
         let f_name = if str::is_empty(f.name) {
@@ -352,7 +352,7 @@
         @{ ident: ext_cx.ident_of(f_name),
            attrs: ~[],
            tps: ~[],
-           self_ty: dummy_spanned(ast::sty_by_ref),
+           self_ty: dummy_spanned(ast::sty_region(ast::m_imm)),
            purity: ast::impure_fn,
            decl: {
               inputs: ~[],
diff --git a/main.rs b/main.rs
index cc6a41f..ddedb87 100644
--- a/main.rs
+++ b/main.rs
@@ -1,5 +1,5 @@
 use std::map::HashMap;
-use io::WriterUtil;
+use core::io::WriterUtil;
 
 use types::*;
 use libc::*;