diff --git a/Cargo.lock b/Cargo.lock
index 4836e15cd799a..af3a199484a9c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -98,12 +98,11 @@ dependencies = [
[[package]]
name = "atty"
-version = "0.2.11"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
+checksum = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
dependencies = [
"libc",
- "termion",
"winapi 0.3.8",
]
@@ -405,9 +404,9 @@ dependencies = [
[[package]]
name = "cfg-if"
-version = "0.1.8"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89431bba4e6b7092fb5fcd00a6f6ca596c55cc26b2f1e6dcdd08a1f4933f66b2"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
dependencies = [
"compiler_builtins",
"rustc-std-workspace-core",
@@ -707,9 +706,9 @@ dependencies = [
[[package]]
name = "crc32fast"
-version = "1.1.2"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e91d5240c6975ef33aeb5f148f35275c25eda8e8a5f95abe421978b05b8bf192"
+checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
dependencies = [
"cfg-if",
]
@@ -780,9 +779,9 @@ dependencies = [
[[package]]
name = "crypto-hash"
-version = "0.3.1"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09de9ee0fc255ace04c7fa0763c9395a945c37c8292bb554f8d48361d1dcf1b4"
+checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca"
dependencies = [
"commoncrypto",
"hex 0.3.2",
@@ -792,9 +791,9 @@ dependencies = [
[[package]]
name = "curl"
-version = "0.4.24"
+version = "0.4.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d08ad3cb89d076a36b0ce5749eec2c9964f70c0c58480ab6b75a91ec4fc206d8"
+checksum = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
dependencies = [
"curl-sys",
"libc",
@@ -807,9 +806,9 @@ dependencies = [
[[package]]
name = "curl-sys"
-version = "0.4.22"
+version = "0.4.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9a9a4e417722876332136a00cacf92c2ceb331fab4b52b6a1ad16c6cd79255"
+checksum = "0c38ca47d60b86d0cc9d42caa90a0885669c2abc9791f871c81f58cdf39e979b"
dependencies = [
"cc",
"libc",
@@ -1044,9 +1043,9 @@ dependencies = [
[[package]]
name = "failure"
-version = "0.1.5"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
+checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
dependencies = [
"backtrace",
"failure_derive",
@@ -1054,14 +1053,14 @@ dependencies = [
[[package]]
name = "failure_derive"
-version = "0.1.5"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
+checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.12",
- "syn 0.15.35",
- "synstructure 0.10.2",
+ "proc-macro2 1.0.3",
+ "quote 1.0.2",
+ "syn 1.0.11",
+ "synstructure",
]
[[package]]
@@ -1072,20 +1071,21 @@ checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
[[package]]
name = "filetime"
-version = "0.2.4"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2df5c1a8c4be27e7707789dc42ae65976e60b394afd293d1419ab915833e646"
+checksum = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
+ "winapi 0.3.8",
]
[[package]]
name = "flate2"
-version = "1.0.12"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad3c5233c9a940c8719031b423d7e6c16af66e031cb0420b0896f5245bf181d3"
+checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
dependencies = [
"cfg-if",
"crc32fast",
@@ -1238,13 +1238,13 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.1.12"
+version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
+checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
dependencies = [
"cfg-if",
"libc",
- "wasi 0.7.0",
+ "wasi",
]
[[package]]
@@ -1387,11 +1387,10 @@ checksum = "023b39be39e3a2da62a94feb433e91e8bcd37676fbc8bea371daf52b7a769a3e"
[[package]]
name = "home"
-version = "0.5.1"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
+checksum = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654"
dependencies = [
- "scopeguard",
"winapi 0.3.8",
]
@@ -1544,9 +1543,9 @@ dependencies = [
[[package]]
name = "im-rc"
-version = "14.0.0"
+version = "14.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9ad726dce25993be6352b0bff048e4d2647440c0a673d32257c4fac49356d18"
+checksum = "ed5135086ffe74654d797c02fd673c4046cdb7f552c98f1b1aa6851d6572f84f"
dependencies = [
"bitmaps",
"rand_core 0.5.1",
@@ -2007,9 +2006,9 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
+checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
[[package]]
name = "memmap"
@@ -2232,9 +2231,9 @@ checksum = "c281318d992e4432cfa799969467003d05921582a7489a8325e37f8a450d5113"
[[package]]
name = "opener"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "998c59e83d9474c01127a96e023b7a04bb061dd286bf8bb939d31dc8d31a7448"
+checksum = "13117407ca9d0caf3a0e74f97b490a7e64c0ae3aa90a8b7085544d0c37b6f3ae"
dependencies = [
"winapi 0.3.8",
]
@@ -2261,9 +2260,9 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
[[package]]
name = "openssl-src"
-version = "111.6.0+1.1.1d"
+version = "111.6.1+1.1.1d"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9c2da1de8a7a3f860919c01540b03a6db16de042405a8a07a5e9d0b4b825d9c"
+checksum = "c91b04cb43c1a8a90e934e0cd612e2a5715d976d2d6cff4490278a0cddf35005"
dependencies = [
"cc",
]
@@ -2838,15 +2837,6 @@ version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d"
-[[package]]
-name = "redox_termios"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
-dependencies = [
- "redox_syscall",
-]
-
[[package]]
name = "redox_users"
version = "0.3.0"
@@ -3187,7 +3177,7 @@ dependencies = [
"proc-macro2 1.0.3",
"quote 1.0.2",
"syn 1.0.11",
- "synstructure 0.12.1",
+ "synstructure",
]
[[package]]
@@ -3693,7 +3683,7 @@ dependencies = [
"proc-macro2 1.0.3",
"quote 1.0.2",
"syn 1.0.11",
- "synstructure 0.12.1",
+ "synstructure",
]
[[package]]
@@ -4130,22 +4120,22 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
-version = "1.0.99"
+version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fec2851eb56d010dc9a21b89ca53ee75e6528bab60c11e89d38390904982da9f"
+checksum = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.81"
+version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "477b13b646f5b5b56fc95bedfc3b550d12141ce84f466f6c44b9a17589923885"
+checksum = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.12",
- "syn 0.15.35",
+ "proc-macro2 1.0.3",
+ "quote 1.0.2",
+ "syn 1.0.11",
]
[[package]]
@@ -4241,9 +4231,9 @@ checksum = "0df90a788073e8d0235a67e50441d47db7c8ad9debd91cbf43736a2a92d36537"
[[package]]
name = "sized-chunks"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62db64dd92b3b54314b1e216c274634ca2b3fe8da8b3873be670cb1ac4dad30f"
+checksum = "6f59f81ec9833a580d2448e958d16bd872637798f3ab300b693c48f136fb76ff"
dependencies = [
"bitmaps",
"typenum",
@@ -4304,7 +4294,7 @@ dependencies = [
"profiler_builtins",
"rand 0.7.0",
"unwind",
- "wasi 0.9.0+wasi-snapshot-preview1",
+ "wasi",
]
[[package]]
@@ -4428,18 +4418,6 @@ dependencies = [
"unicode-xid 0.2.0",
]
-[[package]]
-name = "synstructure"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.12",
- "syn 0.15.35",
- "unicode-xid 0.1.0",
-]
-
[[package]]
name = "synstructure"
version = "0.12.1"
@@ -4473,9 +4451,9 @@ dependencies = [
[[package]]
name = "tar"
-version = "0.4.20"
+version = "0.4.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a303ba60a099fcd2aaa646b14d2724591a96a75283e4b7ed3d1a1658909d9ae2"
+checksum = "7201214ded95b34e3bc00c9557b6dcec34fd1af428d343143f5db67c661762f0"
dependencies = [
"filetime",
"libc",
@@ -4547,17 +4525,6 @@ dependencies = [
"wincolor",
]
-[[package]]
-name = "termion"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
-dependencies = [
- "libc",
- "redox_syscall",
- "redox_termios",
-]
-
[[package]]
name = "test"
version = "0.0.0"
@@ -5134,9 +5101,9 @@ dependencies = [
[[package]]
name = "walkdir"
-version = "2.2.7"
+version = "2.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1"
+checksum = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
dependencies = [
"same-file",
"winapi 0.3.8",
@@ -5154,12 +5121,6 @@ dependencies = [
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
diff --git a/src/librustc_ast_lowering/lib.rs b/src/librustc_ast_lowering/lib.rs
index d30d0bd8345ff..76a0889c376a2 100644
--- a/src/librustc_ast_lowering/lib.rs
+++ b/src/librustc_ast_lowering/lib.rs
@@ -2120,12 +2120,14 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
(hir::ParamName::Plain(param.ident), kind)
}
- GenericParamKind::Const { ref ty } => (
- hir::ParamName::Plain(param.ident),
- hir::GenericParamKind::Const {
- ty: self.lower_ty(&ty, ImplTraitContext::disallowed()),
- },
- ),
+ GenericParamKind::Const { ref ty } => {
+ let ty = self
+ .with_anonymous_lifetime_mode(AnonymousLifetimeMode::ReportError, |this| {
+ this.lower_ty(&ty, ImplTraitContext::disallowed())
+ });
+
+ (hir::ParamName::Plain(param.ident), hir::GenericParamKind::Const { ty })
+ }
};
hir::GenericParam {
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index 61a7bc765bcf2..4c8b8112fa85a 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -307,8 +307,7 @@ pub fn run_core(options: RustdocOptions) -> (clean::Crate, RenderInfo, RenderOpt
cg: codegen_options,
externs,
target_triple: target,
- // Ensure that rustdoc works even if rustc is feature-staged
- unstable_features: UnstableFeatures::Allow,
+ unstable_features: UnstableFeatures::from_environment(),
actually_rustdoc: true,
debugging_opts: debugging_options,
error_format,
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index 8ccb74d6f15d3..809d38a7ead8f 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -2663,8 +2663,8 @@ function getSearchElement() {
"Accepted types are: fn
, mod
, struct
, \
enum
, trait
, type
, macro
, \
and const
.",
- "Search functions by type signature (e.g., vec -> usize
or \
- * -> vec
)",
+ "Search functions by type signature (e.g., vec -> usize
or \
+ * -> vec
)",
"Search multiple things at once by splitting your query with comma (e.g., \
str,u8
or String,struct:Vec,test
)",
"You can look for items with an exact name by putting double quotes around \
diff --git a/src/libterm/lib.rs b/src/libterm/lib.rs
index d2e3b07ab855d..2116b433fce3f 100644
--- a/src/libterm/lib.rs
+++ b/src/libterm/lib.rs
@@ -91,7 +91,7 @@ pub fn stderr() -> Option> {
#[allow(missing_docs)]
pub mod color {
/// Number for a terminal color
- pub type Color = u16;
+ pub type Color = u32;
pub const BLACK: Color = 0;
pub const RED: Color = 1;
diff --git a/src/libterm/terminfo/mod.rs b/src/libterm/terminfo/mod.rs
index f1adc536a3dc4..918875e792a66 100644
--- a/src/libterm/terminfo/mod.rs
+++ b/src/libterm/terminfo/mod.rs
@@ -24,7 +24,7 @@ pub struct TermInfo {
/// Map of capability name to boolean value
pub bools: HashMap,
/// Map of capability name to numeric value
- pub numbers: HashMap,
+ pub numbers: HashMap,
/// Map of capability name to raw (unexpanded) string
pub strings: HashMap>,
}
@@ -129,7 +129,7 @@ fn cap_for_attr(attr: Attr) -> &'static str {
/// A Terminal that knows how many colors it supports, with a reference to its
/// parsed Terminfo database record.
pub struct TerminfoTerminal {
- num_colors: u16,
+ num_colors: u32,
out: T,
ti: TermInfo,
}
diff --git a/src/libterm/terminfo/parser/compiled.rs b/src/libterm/terminfo/parser/compiled.rs
index d36adb72c8eef..fbc5aebdb2c6c 100644
--- a/src/libterm/terminfo/parser/compiled.rs
+++ b/src/libterm/terminfo/parser/compiled.rs
@@ -159,16 +159,16 @@ pub static stringnames: &[&str] = &[ "cbt", "_", "cr", "csr", "tbc", "clear",
fn read_le_u16(r: &mut dyn io::Read) -> io::Result {
let mut b = [0; 2];
- let mut amt = 0;
- while amt < b.len() {
- match r.read(&mut b[amt..])? {
- 0 => return Err(io::Error::new(io::ErrorKind::Other, "end of file")),
- n => amt += n,
- }
- }
+ r.read_exact(&mut b)?;
Ok((b[0] as u16) | ((b[1] as u16) << 8))
}
+fn read_le_u32(r: &mut dyn io::Read) -> io::Result {
+ let mut b = [0; 4];
+ r.read_exact(&mut b)?;
+ Ok((b[0] as u32) | ((b[1] as u32) << 8) | ((b[2] as u32) << 16) | ((b[3] as u32) << 24))
+}
+
fn read_byte(r: &mut dyn io::Read) -> io::Result {
match r.bytes().next() {
Some(s) => s,
@@ -194,9 +194,12 @@ pub fn parse(file: &mut dyn io::Read, longnames: bool) -> Result false,
+ 0o01036 => true,
+ _ => return Err(format!("invalid magic number, found {:o}", magic)),
+ };
// According to the spec, these fields must be >= -1 where -1 means that the feature is not
// supported. Using 0 instead of -1 works because we skip sections with length 0.
@@ -258,11 +261,15 @@ pub fn parse(file: &mut dyn io::Read, longnames: bool) -> Result = t! {
- (0..numbers_count).filter_map(|i| match read_le_u16(file) {
- Ok(0xFFFF) => None,
- Ok(n) => Some(Ok((nnames[i].to_string(), n))),
- Err(e) => Some(Err(e))
+ let numbers_map: HashMap = t! {
+ (0..numbers_count).filter_map(|i| {
+ let number = if extended { read_le_u32(file) } else { read_le_u16(file).map(Into::into) };
+
+ match number {
+ Ok(0xFFFF) => None,
+ Ok(n) => Some(Ok((nnames[i].to_string(), n))),
+ Err(e) => Some(Err(e))
+ }
}).collect()
};
@@ -318,7 +325,7 @@ pub fn msys_terminfo() -> TermInfo {
strings.insert("setab".to_string(), b"\x1B[4%p1%dm".to_vec());
let mut numbers = HashMap::new();
- numbers.insert("colors".to_string(), 8u16);
+ numbers.insert("colors".to_string(), 8);
TermInfo {
names: vec!["cygwin".to_string()], // msys is a fork of an older cygwin version
diff --git a/src/libterm/win.rs b/src/libterm/win.rs
index b6c607a30816c..c24cf9518aa25 100644
--- a/src/libterm/win.rs
+++ b/src/libterm/win.rs
@@ -89,7 +89,7 @@ fn bits_to_color(bits: u16) -> color::Color {
_ => unreachable!(),
};
- color | (bits & 0x8) // copy the hi-intensity bit
+ color | (u32::from(bits) & 0x8) // copy the hi-intensity bit
}
impl WinConsole {
diff --git a/src/test/ui/const-generics/const-param-elided-lifetime.rs b/src/test/ui/const-generics/const-param-elided-lifetime.rs
new file mode 100644
index 0000000000000..5679dd35c307a
--- /dev/null
+++ b/src/test/ui/const-generics/const-param-elided-lifetime.rs
@@ -0,0 +1,24 @@
+// Elided lifetimes within the type of a const generic parameters is disallowed. This matches the
+// behaviour of trait bounds where `fn foo>() {}` is illegal. Though we could change
+// elided lifetimes within the type of a const generic parameters to be 'static, like elided
+// lifetimes within const/static items.
+
+#![feature(const_generics)]
+//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash
+
+struct A;
+//~^ ERROR `&` without an explicit lifetime name cannot be used here
+trait B {}
+
+impl A { //~ ERROR `&` without an explicit lifetime name cannot be used here
+ fn foo(&self) {}
+ //~^ ERROR `&` without an explicit lifetime name cannot be used here
+}
+
+impl B for A {}
+//~^ ERROR `&` without an explicit lifetime name cannot be used here
+
+fn bar() {}
+//~^ ERROR `&` without an explicit lifetime name cannot be used here
+
+fn main() {}
diff --git a/src/test/ui/const-generics/const-param-elided-lifetime.stderr b/src/test/ui/const-generics/const-param-elided-lifetime.stderr
new file mode 100644
index 0000000000000..93133c507fe40
--- /dev/null
+++ b/src/test/ui/const-generics/const-param-elided-lifetime.stderr
@@ -0,0 +1,40 @@
+error[E0637]: `&` without an explicit lifetime name cannot be used here
+ --> $DIR/const-param-elided-lifetime.rs:9:19
+ |
+LL | struct A;
+ | ^ explicit lifetime name needed here
+
+error[E0637]: `&` without an explicit lifetime name cannot be used here
+ --> $DIR/const-param-elided-lifetime.rs:13:15
+ |
+LL | impl A {
+ | ^ explicit lifetime name needed here
+
+error[E0637]: `&` without an explicit lifetime name cannot be used here
+ --> $DIR/const-param-elided-lifetime.rs:14:21
+ |
+LL | fn foo(&self) {}
+ | ^ explicit lifetime name needed here
+
+error[E0637]: `&` without an explicit lifetime name cannot be used here
+ --> $DIR/const-param-elided-lifetime.rs:18:15
+ |
+LL | impl B for A {}
+ | ^ explicit lifetime name needed here
+
+error[E0637]: `&` without an explicit lifetime name cannot be used here
+ --> $DIR/const-param-elided-lifetime.rs:21:17
+ |
+LL | fn bar() {}
+ | ^ explicit lifetime name needed here
+
+warning: the feature `const_generics` is incomplete and may cause the compiler to crash
+ --> $DIR/const-param-elided-lifetime.rs:6:12
+ |
+LL | #![feature(const_generics)]
+ | ^^^^^^^^^^^^^^
+ |
+ = note: `#[warn(incomplete_features)]` on by default
+
+error: aborting due to 5 previous errors
+