From 26737a2888665e2fd482012abbcfbc2cb87008aa Mon Sep 17 00:00:00 2001
From: LachezarLechev <lachezar.lechev@skydreams.com>
Date: Tue, 11 Dec 2018 08:37:53 +0100
Subject: [PATCH 1/4] [examples] console_log - port to rust 2018

---
 examples/console_log/Cargo.toml | 1 +
 examples/console_log/src/lib.rs | 3 ---
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/examples/console_log/Cargo.toml b/examples/console_log/Cargo.toml
index ebe7b630..06e52cf9 100644
--- a/examples/console_log/Cargo.toml
+++ b/examples/console_log/Cargo.toml
@@ -2,6 +2,7 @@
 name = "console_log"
 version = "0.1.0"
 authors = ["The wasm-bindgen Developers"]
+edition = "2018"
 
 [lib]
 crate-type = ["cdylib"]
diff --git a/examples/console_log/src/lib.rs b/examples/console_log/src/lib.rs
index a530259a..49e9c1db 100644
--- a/examples/console_log/src/lib.rs
+++ b/examples/console_log/src/lib.rs
@@ -1,6 +1,3 @@
-extern crate wasm_bindgen;
-extern crate web_sys;
-
 use wasm_bindgen::prelude::*;
 
 #[wasm_bindgen(start)]

From 7107a896da2cca3e770da8ef5ca15cbc48173feb Mon Sep 17 00:00:00 2001
From: LachezarLechev <lachezar.lechev@skydreams.com>
Date: Tue, 11 Dec 2018 08:39:49 +0100
Subject: [PATCH 2/4] [examples] closures - port to rust 2018

---
 examples/closures/Cargo.toml | 1 +
 examples/closures/src/lib.rs | 8 +++-----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/examples/closures/Cargo.toml b/examples/closures/Cargo.toml
index f1dcfc66..7093355d 100644
--- a/examples/closures/Cargo.toml
+++ b/examples/closures/Cargo.toml
@@ -2,6 +2,7 @@
 name = "closures"
 version = "0.1.0"
 authors = ["The wasm-bindgen Developers"]
+edition = "2018"
 
 [lib]
 crate-type = ["cdylib"]
diff --git a/examples/closures/src/lib.rs b/examples/closures/src/lib.rs
index 30a28380..92600dd4 100644
--- a/examples/closures/src/lib.rs
+++ b/examples/closures/src/lib.rs
@@ -1,6 +1,4 @@
-extern crate js_sys;
-extern crate wasm_bindgen;
-extern crate web_sys;
+use web_sys;
 
 use js_sys::{Array, Date};
 use wasm_bindgen::prelude::*;
@@ -67,7 +65,7 @@ fn setup_clock(window: &Window, document: &Document) -> Result<(), JsValue> {
         .get_element_by_id("current-time")
         .expect("should have #current-time on the page");
     update_time(&current_time);
-    let a = Closure::wrap(Box::new(move || update_time(&current_time)) as Box<Fn()>);
+    let a = Closure::wrap(Box::new(move || update_time(&current_time)) as Box<dyn Fn()>);
     window
         .set_interval_with_callback_and_timeout_and_arguments_0(a.as_ref().unchecked_ref(), 1000)?;
     fn update_time(current_time: &Element) {
@@ -103,7 +101,7 @@ fn setup_clicker(document: &Document) {
     let a = Closure::wrap(Box::new(move || {
         clicks += 1;
         num_clicks.set_inner_html(&clicks.to_string());
-    }) as Box<FnMut()>);
+    }) as Box<dyn FnMut()>);
     document
         .get_element_by_id("green-square")
         .expect("should have #green-square on the page")

From 573c14118aef44f8d324d29df584a843a476ab77 Mon Sep 17 00:00:00 2001
From: LachezarLechev <lachezar.lechev@skydreams.com>
Date: Tue, 11 Dec 2018 08:45:26 +0100
Subject: [PATCH 3/4] [examples] duck-typed-interfaces - port to rust 2018

---
 examples/duck-typed-interfaces/Cargo.toml | 1 +
 examples/duck-typed-interfaces/src/lib.rs | 3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/examples/duck-typed-interfaces/Cargo.toml b/examples/duck-typed-interfaces/Cargo.toml
index f964d932..fbac1792 100644
--- a/examples/duck-typed-interfaces/Cargo.toml
+++ b/examples/duck-typed-interfaces/Cargo.toml
@@ -2,6 +2,7 @@
 name = "rust-duck-typed-interfaces"
 version = "0.1.0"
 authors = ["The wasm-bindgen Developers"]
+edition = "2018"
 
 [lib]
 crate-type = ["cdylib"]
diff --git a/examples/duck-typed-interfaces/src/lib.rs b/examples/duck-typed-interfaces/src/lib.rs
index 0e1140f6..cf579590 100644
--- a/examples/duck-typed-interfaces/src/lib.rs
+++ b/examples/duck-typed-interfaces/src/lib.rs
@@ -1,4 +1,3 @@
-extern crate wasm_bindgen;
 use wasm_bindgen::prelude::*;
 
 /// Here is a duck-typed interface for any JavaScript object that has a `quack`
@@ -18,6 +17,6 @@ extern "C" {
 /// Next, we can export a function that takes any object that quacks:
 #[wasm_bindgen]
 pub fn make_em_quack_to_this(duck: &Quacks) {
-    let s = duck.quack();
+    let _s = duck.quack();
     // ...
 }

From 90ed520394c8fb882607a42611122be97457ae21 Mon Sep 17 00:00:00 2001
From: LachezarLechev <lachezar.lechev@skydreams.com>
Date: Tue, 11 Dec 2018 14:50:27 +0100
Subject: [PATCH 4/4] [examples] closure - remove unnecessary use statement

---
 examples/closures/src/lib.rs | 2 --
 1 file changed, 2 deletions(-)

diff --git a/examples/closures/src/lib.rs b/examples/closures/src/lib.rs
index 92600dd4..aeabaf14 100644
--- a/examples/closures/src/lib.rs
+++ b/examples/closures/src/lib.rs
@@ -1,5 +1,3 @@
-use web_sys;
-
 use js_sys::{Array, Date};
 use wasm_bindgen::prelude::*;
 use wasm_bindgen::JsCast;