#![feature(exhaustive_patterns)]
#![feature(in_band_lifetimes)]
#![feature(nll)]
-#![feature(slice_patterns)]
+#![cfg_attr(bootstrap, feature(slice_patterns))]
#![feature(try_blocks)]
#![feature(never_type)]
#![recursion_limit = "256"]
mod structured_errors;
mod variance;
-use errors::struct_span_err;
use rustc::infer::InferOk;
use rustc::lint;
use rustc::middle;
use rustc::ty::{self, Ty, TyCtxt};
use rustc::util;
use rustc::util::common::ErrorReported;
+use rustc_errors::struct_span_err;
use rustc_hir as hir;
use rustc_hir::def_id::{DefId, LOCAL_CRATE};
use rustc_hir::Node;
use rustc_span::{Span, DUMMY_SP};
use rustc_target::spec::abi::Abi;
-use rustc_error_codes::*;
-
use std::iter;
use astconv::{AstConv, Bounds};