diff --git a/tests/common/parse.rs b/tests/common/parse.rs
index e0ebd8f..41d192f 100644
--- a/tests/common/parse.rs
+++ b/tests/common/parse.rs
@@ -7,14 +7,12 @@
 use self::syntax::parse::{self, ParseSess};
 use self::syntax::ptr::P;
 use self::syntax::source_map::FilePathMapping;
-use self::syntax_pos::edition::Edition;
-use self::syntax_pos::{hygiene, FileName};
+use self::syntax_pos::FileName;
 
 use std::panic;
 
 pub fn libsyntax_expr(input: &str) -> Option<P<ast::Expr>> {
     match panic::catch_unwind(|| {
-        hygiene::set_default_edition(Edition::Edition2018);
         let sess = ParseSess::new(FilePathMapping::empty());
         sess.span_diagnostic.set_continue_after_error(false);
         let e = parse::new_parser_from_source_str(
diff --git a/tests/test_precedence.rs b/tests/test_precedence.rs
index cd0b041..227bed8 100644
--- a/tests/test_precedence.rs
+++ b/tests/test_precedence.rs
@@ -32,6 +32,7 @@
 use smallvec::smallvec;
 use syntax::ast;
 use syntax::ptr::P;
+use syntax_pos::edition::Edition;
 use walkdir::{DirEntry, WalkDir};
 
 use std::fs::File;
@@ -170,7 +171,7 @@
     let mut passed = 0;
     let mut failed = 0;
 
-    syntax::with_globals(|| {
+    syntax::with_globals(Edition::Edition2018, || {
         for expr in exprs {
             let raw = quote!(#expr).to_string();
 
diff --git a/tests/test_round_trip.rs b/tests/test_round_trip.rs
index b90d7a0..eeadd6c 100644
--- a/tests/test_round_trip.rs
+++ b/tests/test_round_trip.rs
@@ -16,6 +16,7 @@
 use syntax::ast;
 use syntax::parse::{self, PResult, ParseSess};
 use syntax::source_map::FilePathMapping;
+use syntax_pos::edition::Edition;
 use syntax_pos::FileName;
 use walkdir::{DirEntry, WalkDir};
 
@@ -77,7 +78,7 @@
             let back = quote!(#krate).to_string();
 
             let equal = panic::catch_unwind(|| {
-                syntax::with_globals(|| {
+                syntax::with_globals(Edition::Edition2018, || {
                     let sess = ParseSess::new(FilePathMapping::empty());
                     let before = match libsyntax_parse(content, &sess) {
                         Ok(before) => before,
