From ea9519bf16f0be137a814a49c9fbaf232ba49a43 Mon Sep 17 00:00:00 2001 From: Trevor Spiteri Date: Mon, 21 Oct 2019 16:25:03 +0200 Subject: [PATCH 01/24] Update Source Code Pro and include italics --- src/librustdoc/html/render.rs | 6 ++++-- src/librustdoc/html/static/COPYRIGHT.txt | 3 ++- .../html/static/SourceCodePro-It.ttf.woff | Bin 0 -> 84264 bytes .../html/static/SourceCodePro-Regular.ttf.woff | Bin 0 -> 95872 bytes .../html/static/SourceCodePro-Regular.woff | Bin 55472 -> 0 bytes .../html/static/SourceCodePro-Semibold.ttf.woff | Bin 0 -> 95576 bytes .../html/static/SourceCodePro-Semibold.woff | Bin 55360 -> 0 bytes src/librustdoc/html/static/rustdoc.css | 10 ++++++++-- src/librustdoc/html/static_files.rs | 12 ++++++++---- 9 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 src/librustdoc/html/static/SourceCodePro-It.ttf.woff create mode 100644 src/librustdoc/html/static/SourceCodePro-Regular.ttf.woff delete mode 100644 src/librustdoc/html/static/SourceCodePro-Regular.woff create mode 100644 src/librustdoc/html/static/SourceCodePro-Semibold.ttf.woff delete mode 100644 src/librustdoc/html/static/SourceCodePro-Semibold.woff diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 72a72e892814a..25c2f08c77a48 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -700,10 +700,12 @@ themePicker.onblur = handleThemeButtonsBlur; static_files::source_serif_pro::ITALIC)?; write(cx.dst.join("SourceSerifPro-LICENSE.md"), static_files::source_serif_pro::LICENSE)?; - write(cx.dst.join("SourceCodePro-Regular.woff"), + write(cx.dst.join("SourceCodePro-Regular.ttf.woff"), static_files::source_code_pro::REGULAR)?; - write(cx.dst.join("SourceCodePro-Semibold.woff"), + write(cx.dst.join("SourceCodePro-Semibold.ttf.woff"), static_files::source_code_pro::SEMIBOLD)?; + write(cx.dst.join("SourceCodePro-It.ttf.woff"), + static_files::source_code_pro::ITALIC)?; write(cx.dst.join("SourceCodePro-LICENSE.txt"), static_files::source_code_pro::LICENSE)?; write(cx.dst.join("LICENSE-MIT.txt"), diff --git a/src/librustdoc/html/static/COPYRIGHT.txt b/src/librustdoc/html/static/COPYRIGHT.txt index af77776cca431..24bdca6544d6d 100644 --- a/src/librustdoc/html/static/COPYRIGHT.txt +++ b/src/librustdoc/html/static/COPYRIGHT.txt @@ -23,7 +23,8 @@ included, and carry their own copyright notices and license terms: Copyright (c) Nicolas Gallagher and Jonathan Neal. Licensed under the MIT license (see LICENSE-MIT.txt). -* Source Code Pro (SourceCodePro-Regular.woff, SourceCodePro-Semibold.woff): +* Source Code Pro (SourceCodePro-Regular.ttf.woff, + SourceCodePro-Semibold.ttf.woff, SourceCodePro-It.ttf.woff): Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark diff --git a/src/librustdoc/html/static/SourceCodePro-It.ttf.woff b/src/librustdoc/html/static/SourceCodePro-It.ttf.woff new file mode 100644 index 0000000000000000000000000000000000000000..ebaaf91de0667d42e962e28142de3c9070ce0750 GIT binary patch literal 84264 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 literal 0 HcmV?d00001 diff --git a/src/librustdoc/html/static/SourceCodePro-Regular.ttf.woff b/src/librustdoc/html/static/SourceCodePro-Regular.ttf.woff new file mode 100644 index 0000000000000000000000000000000000000000..117c7e5142c3811eed73b9321760132160c526c7 GIT binary patch literal 95872 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 N>i-Ak^d1HP005RYhx7md diff --git a/src/librustdoc/html/static/SourceCodePro-Semibold.ttf.woff b/src/librustdoc/html/static/SourceCodePro-Semibold.ttf.woff new file mode 100644 index 0000000000000000000000000000000000000000..270873a86a09b98551ed36397921ac4c9ecaec8c GIT binary patch literal 95576 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"`*vG7?N#y7k$BGWmC=~3^YLX1Q?$V;I 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%0AbsTq* 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 F0095As-FM= literal 0 HcmV?d00001 diff --git a/src/librustdoc/html/static/SourceCodePro-Semibold.woff b/src/librustdoc/html/static/SourceCodePro-Semibold.woff deleted file mode 100644 index ca972a11dc428209dd66212e382b884f168e83f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55360 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

d?~=$y_z?$}zMRxO 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

-nf}~4k^lgCB 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 d&xU0F2O@Pp9zf@HhMqK>r}n002Tsb2$J2 diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index 64c858238dbce..6d2f6c7eda6b4 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -39,13 +39,19 @@ font-weight: 400; /* Avoid using locally installed font because bad versions are in circulation: * see https://github.com/rust-lang/rust/issues/24355 */ - src: url("SourceCodePro-Regular.woff") format('woff'); + src: url("SourceCodePro-Regular.ttf.woff") format('woff'); +} +@font-face { + font-family: 'Source Code Pro'; + font-style: italic; + font-weight: 400; + src: url("SourceCodePro-It.ttf.woff") format('woff'); } @font-face { font-family: 'Source Code Pro'; font-style: normal; font-weight: 600; - src: url("SourceCodePro-Semibold.woff") format('woff'); + src: url("SourceCodePro-Semibold.ttf.woff") format('woff'); } * { diff --git a/src/librustdoc/html/static_files.rs b/src/librustdoc/html/static_files.rs index 3a2c24b1a967f..080b786eea2cb 100644 --- a/src/librustdoc/html/static_files.rs +++ b/src/librustdoc/html/static_files.rs @@ -96,11 +96,15 @@ pub mod source_serif_pro { /// Files related to the Source Code Pro font. pub mod source_code_pro { - /// The file `SourceCodePro-Regular.woff`, the Regular variant of the Source Code Pro font. - pub static REGULAR: &'static [u8] = include_bytes!("static/SourceCodePro-Regular.woff"); + /// The file `SourceCodePro-Regular.ttf.woff`, the Regular variant of the Source Code Pro font. + pub static REGULAR: &'static [u8] = include_bytes!("static/SourceCodePro-Regular.ttf.woff"); - /// The file `SourceCodePro-Semibold.woff`, the Semibold variant of the Source Code Pro font. - pub static SEMIBOLD: &'static [u8] = include_bytes!("static/SourceCodePro-Semibold.woff"); + /// The file `SourceCodePro-Semibold.ttf.woff`, the Semibold variant of the Source Code Pro + /// font. + pub static SEMIBOLD: &'static [u8] = include_bytes!("static/SourceCodePro-Semibold.ttf.woff"); + + /// The file `SourceCodePro-It.ttf.woff`, the Italic variant of the Source Code Pro font. + pub static ITALIC: &'static [u8] = include_bytes!("static/SourceCodePro-It.ttf.woff"); /// The file `SourceCodePro-LICENSE.txt`, the license text of the Source Code Pro font. pub static LICENSE: &'static [u8] = include_bytes!("static/SourceCodePro-LICENSE.txt"); From 143fb4357f484c1c55811b97bace92482ba0ec5a Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 6 Nov 2019 16:52:37 +0000 Subject: [PATCH 02/24] Tweak VarLenSlice subtraction --- src/librustc_mir/hair/pattern/_match.rs | 67 +++++++++++++------------ 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index e30d6819d04f1..555772f8b58d3 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -655,44 +655,45 @@ impl<'tcx> Constructor<'tcx> { .into_iter() .flat_map(|pos_ctor| -> SmallVec<[Constructor<'tcx>; 1]> { // Compute `pos_ctor \ neg_ctor`. - match (&pos_ctor, neg_ctor) { - (&FixedLenSlice(pos_len), &VarLenSlice(neg_prefix, neg_suffix)) => { - let neg_len = neg_prefix + neg_suffix; - if neg_len <= pos_len { + match pos_ctor { + FixedLenSlice(pos_len) => match *neg_ctor { + FixedLenSlice(neg_len) if neg_len == pos_len => smallvec![], + VarLenSlice(neg_prefix, neg_suffix) + if neg_prefix + neg_suffix <= pos_len => + { smallvec![] - } else { - smallvec![pos_ctor] } - } - ( - &VarLenSlice(pos_prefix, pos_suffix), - &VarLenSlice(neg_prefix, neg_suffix), - ) => { - let neg_len = neg_prefix + neg_suffix; - let pos_len = pos_prefix + pos_suffix; - if neg_len <= pos_len { - smallvec![] - } else { - (pos_len..neg_len).map(FixedLenSlice).collect() - } - } - (&VarLenSlice(pos_prefix, pos_suffix), &FixedLenSlice(neg_len)) => { + _ => smallvec![pos_ctor], + }, + VarLenSlice(pos_prefix, pos_suffix) => { let pos_len = pos_prefix + pos_suffix; - if neg_len < pos_len { - smallvec![pos_ctor] - } else { - (pos_len..neg_len) - .map(FixedLenSlice) - // We know that `neg_len + 1 >= pos_len >= pos_suffix`. - .chain(Some(VarLenSlice( - neg_len + 1 - pos_suffix, - pos_suffix, - ))) - .collect() + match *neg_ctor { + FixedLenSlice(neg_len) if neg_len >= pos_len => { + (pos_len..neg_len) + .map(FixedLenSlice) + // We know that `neg_len + 1 >= pos_len >= + // pos_suffix`. + .chain(Some(VarLenSlice( + neg_len + 1 - pos_suffix, + pos_suffix, + ))) + .collect() + } + VarLenSlice(neg_prefix, neg_suffix) => { + let neg_len = neg_prefix + neg_suffix; + if neg_len <= pos_len { + smallvec![] + } else { + (pos_len..neg_len).map(FixedLenSlice).collect() + } + } + _ => smallvec![pos_ctor], } } - _ if pos_ctor == *neg_ctor => smallvec![], - _ => smallvec![pos_ctor], + _ => bug!( + "unexpected ctor while subtracting from VarLenSlice: {:?}", + pos_ctor + ), } }) .collect(); From c00ecfa8d268ad34c90667a249384618a19ea39b Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 16 Nov 2019 16:18:46 +0000 Subject: [PATCH 03/24] Add some tests --- .../slice-patterns-exhaustiveness.rs | 18 +++++-- .../slice-patterns-exhaustiveness.stderr | 54 ++++++++++++------- 2 files changed, 49 insertions(+), 23 deletions(-) diff --git a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs index 86cdf160618bf..11ca06e36adc0 100644 --- a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs +++ b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs @@ -5,6 +5,20 @@ fn main() { let s1: &[bool; 1] = &[false; 1]; let s2: &[bool; 2] = &[false; 2]; let s3: &[bool; 3] = &[false; 3]; + let s10: &[bool; 10] = &[false; 10]; + + match s2 { + //~^ ERROR `&[false, _]` not covered + [true, .., true] => {} + } + match s3 { + //~^ ERROR `&[false, _, _]` not covered + [true, .., true] => {} + } + match s10 { + //~^ ERROR `&[false, _, _, _, _, _, _, _, _, _]` not covered + [true, .., true] => {} + } match s1 { [true, ..] => {} @@ -27,10 +41,6 @@ fn main() { [.., false] => {} } - match s3 { - //~^ ERROR `&[false, _, _]` not covered - [true, .., true] => {} - } match s { //~^ ERROR `&[_, ..]` not covered [] => {} diff --git a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr index 1391b520556dc..7bf283ec741ba 100644 --- a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr +++ b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr @@ -1,5 +1,29 @@ +error[E0004]: non-exhaustive patterns: `&[false, _]` not covered + --> $DIR/slice-patterns-exhaustiveness.rs:10:11 + | +LL | match s2 { + | ^^ pattern `&[false, _]` not covered + | + = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms + +error[E0004]: non-exhaustive patterns: `&[false, _, _]` not covered + --> $DIR/slice-patterns-exhaustiveness.rs:14:11 + | +LL | match s3 { + | ^^ pattern `&[false, _, _]` not covered + | + = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms + +error[E0004]: non-exhaustive patterns: `&[false, _, _, _, _, _, _, _, _, _]` not covered + --> $DIR/slice-patterns-exhaustiveness.rs:18:11 + | +LL | match s10 { + | ^^^ pattern `&[false, _, _, _, _, _, _, _, _, _]` not covered + | + = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms + error[E0004]: non-exhaustive patterns: `&[false, true]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:13:11 + --> $DIR/slice-patterns-exhaustiveness.rs:27:11 | LL | match s2 { | ^^ pattern `&[false, true]` not covered @@ -7,7 +31,7 @@ LL | match s2 { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[false, _, true]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:18:11 + --> $DIR/slice-patterns-exhaustiveness.rs:32:11 | LL | match s3 { | ^^ pattern `&[false, _, true]` not covered @@ -15,23 +39,15 @@ LL | match s3 { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[false, .., true]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:23:11 + --> $DIR/slice-patterns-exhaustiveness.rs:37:11 | LL | match s { | ^ pattern `&[false, .., true]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error[E0004]: non-exhaustive patterns: `&[false, _, _]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:30:11 - | -LL | match s3 { - | ^^ pattern `&[false, _, _]` not covered - | - = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms - error[E0004]: non-exhaustive patterns: `&[_, ..]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:34:11 + --> $DIR/slice-patterns-exhaustiveness.rs:44:11 | LL | match s { | ^ pattern `&[_, ..]` not covered @@ -39,7 +55,7 @@ LL | match s { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[_, _, ..]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:38:11 + --> $DIR/slice-patterns-exhaustiveness.rs:48:11 | LL | match s { | ^ pattern `&[_, _, ..]` not covered @@ -47,7 +63,7 @@ LL | match s { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[false, ..]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:43:11 + --> $DIR/slice-patterns-exhaustiveness.rs:53:11 | LL | match s { | ^ pattern `&[false, ..]` not covered @@ -55,7 +71,7 @@ LL | match s { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[false, _, ..]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:48:11 + --> $DIR/slice-patterns-exhaustiveness.rs:58:11 | LL | match s { | ^ pattern `&[false, _, ..]` not covered @@ -63,7 +79,7 @@ LL | match s { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[_, .., false]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:54:11 + --> $DIR/slice-patterns-exhaustiveness.rs:64:11 | LL | match s { | ^ pattern `&[_, .., false]` not covered @@ -71,7 +87,7 @@ LL | match s { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[_, _, .., true]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:61:11 + --> $DIR/slice-patterns-exhaustiveness.rs:71:11 | LL | match s { | ^ pattern `&[_, _, .., true]` not covered @@ -79,13 +95,13 @@ LL | match s { = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms error[E0004]: non-exhaustive patterns: `&[true, _, .., _]` not covered - --> $DIR/slice-patterns-exhaustiveness.rs:68:11 + --> $DIR/slice-patterns-exhaustiveness.rs:78:11 | LL | match s { | ^ pattern `&[true, _, .., _]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error: aborting due to 11 previous errors +error: aborting due to 13 previous errors For more information about this error, try `rustc --explain E0004`. From d93c1b320c1dc6d38165c70e5f1c13dba895c179 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 16 Nov 2019 16:05:32 +0000 Subject: [PATCH 04/24] Introduce new FixedLenSlice constructor It is used in the case where a variable-length slice pattern is used to match on an array of known size. This allows considering only those entries in the array that are captured by one of the patterns. As a side-effect, diagnostics improve a bit for those cases. --- src/librustc_mir/hair/pattern/_match.rs | 107 +++++++++++++----- .../match-byte-array-patterns-2.stderr | 4 +- .../slice-patterns-exhaustiveness.rs | 6 +- .../slice-patterns-exhaustiveness.stderr | 12 +- 4 files changed, 92 insertions(+), 37 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index 555772f8b58d3..fdee2ffee983c 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -597,6 +597,14 @@ enum Constructor<'tcx> { FloatRange(&'tcx ty::Const<'tcx>, &'tcx ty::Const<'tcx>, RangeEnd), /// Array patterns of length `n`. FixedLenSlice(u64), + /// Array patterns of length `len`, but for which we only care about the `prefix` first values + /// and the `suffix` last values. This avoids unnecessarily going through values we know to be + /// uninteresting, which can be a major problem for large arrays. + LazyFixedLenSlice { + len: u64, // The actual length of the array + prefix: u64, + suffix: u64, + }, /// Slice patterns. Captures any array constructor of `length >= i + j`. VarLenSlice(u64, u64), /// Fake extra constructor for enums that aren't allowed to be matched exhaustively. @@ -606,7 +614,7 @@ enum Constructor<'tcx> { impl<'tcx> Constructor<'tcx> { fn is_slice(&self) -> bool { match self { - FixedLenSlice { .. } | VarLenSlice { .. } => true, + FixedLenSlice { .. } | LazyFixedLenSlice { .. } | VarLenSlice { .. } => true, _ => false, } } @@ -635,9 +643,9 @@ impl<'tcx> Constructor<'tcx> { Single | Variant(_) | ConstantValue(..) | FloatRange(..) => { if other_ctors.iter().any(|c| c == self) { vec![] } else { vec![self.clone()] } } - &FixedLenSlice(self_len) => { + &FixedLenSlice(self_len) | &LazyFixedLenSlice { len: self_len, .. } => { let overlaps = |c: &Constructor<'_>| match *c { - FixedLenSlice(other_len) => other_len == self_len, + FixedLenSlice(len) | LazyFixedLenSlice { len, .. } => len == self_len, VarLenSlice(prefix, suffix) => prefix + suffix <= self_len, _ => false, }; @@ -657,7 +665,12 @@ impl<'tcx> Constructor<'tcx> { // Compute `pos_ctor \ neg_ctor`. match pos_ctor { FixedLenSlice(pos_len) => match *neg_ctor { - FixedLenSlice(neg_len) if neg_len == pos_len => smallvec![], + FixedLenSlice(neg_len) + | LazyFixedLenSlice { len: neg_len, .. } + if neg_len == pos_len => + { + smallvec![] + } VarLenSlice(neg_prefix, neg_suffix) if neg_prefix + neg_suffix <= pos_len => { @@ -668,7 +681,10 @@ impl<'tcx> Constructor<'tcx> { VarLenSlice(pos_prefix, pos_suffix) => { let pos_len = pos_prefix + pos_suffix; match *neg_ctor { - FixedLenSlice(neg_len) if neg_len >= pos_len => { + FixedLenSlice(neg_len) + | LazyFixedLenSlice { len: neg_len, .. } + if neg_len >= pos_len => + { (pos_len..neg_len) .map(FixedLenSlice) // We know that `neg_len + 1 >= pos_len >= @@ -799,7 +815,7 @@ impl<'tcx> Constructor<'tcx> { } _ => vec![], }, - FixedLenSlice(_) | VarLenSlice(..) => match ty.kind { + FixedLenSlice(_) | LazyFixedLenSlice { .. } | VarLenSlice(..) => match ty.kind { ty::Slice(ty) | ty::Array(ty, _) => { let arity = self.arity(cx, ty); (0..arity).map(|_| Pat::wildcard_from_ty(ty)).collect() @@ -830,7 +846,9 @@ impl<'tcx> Constructor<'tcx> { _ => 0, }, FixedLenSlice(length) => *length, - VarLenSlice(prefix, suffix) => prefix + suffix, + VarLenSlice(prefix, suffix) | LazyFixedLenSlice { prefix, suffix, .. } => { + prefix + suffix + } ConstantValue(..) | FloatRange(..) | IntRange(..) | NonExhaustive => 0, } } @@ -888,8 +906,11 @@ impl<'tcx> Constructor<'tcx> { FixedLenSlice(_) => { PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } } - &VarLenSlice(prefix_len, _) => { - let prefix = subpatterns.by_ref().take(prefix_len as usize).collect(); + LazyFixedLenSlice { len, prefix, suffix } if prefix + suffix == *len => { + PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } + } + VarLenSlice(prefix, _) | LazyFixedLenSlice { prefix, .. } => { + let prefix = subpatterns.by_ref().take(*prefix as usize).collect(); let suffix = subpatterns.collect(); let wild = Pat::wildcard_from_ty(ty); PatKind::Slice { prefix, slice: Some(wild), suffix } @@ -1106,7 +1127,11 @@ fn all_constructors<'a, 'tcx>( } ty::Array(ref sub_ty, len) if len.try_eval_usize(cx.tcx, cx.param_env).is_some() => { let len = len.eval_usize(cx.tcx, cx.param_env); - if len != 0 && cx.is_uninhabited(sub_ty) { vec![] } else { vec![FixedLenSlice(len)] } + if len != 0 && cx.is_uninhabited(sub_ty) { + vec![] + } else { + vec![LazyFixedLenSlice { len, prefix: 0, suffix: 0 }] + } } // Treat arrays of a constant but unknown length like slices. ty::Array(ref sub_ty, _) | ty::Slice(ref sub_ty) => { @@ -1694,10 +1719,19 @@ fn pat_constructor<'tcx>( Some(FloatRange(lo, hi, end)) } } - PatKind::Array { .. } => match pat.ty.kind { - ty::Array(_, length) => Some(FixedLenSlice(length.eval_usize(tcx, param_env))), - _ => span_bug!(pat.span, "bad ty {:?} for array pattern", pat.ty), - }, + PatKind::Array { ref prefix, ref slice, ref suffix } => { + let len = match pat.ty.kind { + ty::Array(_, length) => length.eval_usize(tcx, param_env), + _ => span_bug!(pat.span, "bad ty {:?} for array pattern", pat.ty), + }; + let prefix = prefix.len() as u64; + let suffix = suffix.len() as u64; + if slice.is_some() { + Some(LazyFixedLenSlice { len, prefix, suffix }) + } else { + Some(FixedLenSlice(len)) + } + } PatKind::Slice { ref prefix, ref slice, ref suffix } => { let prefix = prefix.len() as u64; let suffix = suffix.len() as u64; @@ -1833,6 +1867,7 @@ fn split_grouped_constructors<'p, 'tcx>( ) -> Vec> { let ty = pcx.ty; let mut split_ctors = Vec::with_capacity(ctors.len()); + debug!("split_grouped_constructors({:#?}, {:#?})", matrix, ctors); for ctor in ctors.into_iter() { match ctor { @@ -1920,7 +1955,8 @@ fn split_grouped_constructors<'p, 'tcx>( .map(IntRange), ); } - VarLenSlice(self_prefix, self_suffix) => { + VarLenSlice(self_prefix, self_suffix) + | LazyFixedLenSlice { prefix: self_prefix, suffix: self_suffix, .. } => { // The exhaustiveness-checking paper does not include any details on // checking variable-length slice patterns. However, they are matched // by an infinite collection of fixed-length array patterns. @@ -2005,11 +2041,13 @@ fn split_grouped_constructors<'p, 'tcx>( _ => {} } } - PatKind::Slice { ref prefix, slice: None, ref suffix } => { + PatKind::Slice { ref prefix, slice: None, ref suffix } + | PatKind::Array { ref prefix, slice: None, ref suffix } => { let fixed_len = prefix.len() as u64 + suffix.len() as u64; max_fixed_len = cmp::max(max_fixed_len, fixed_len); } - PatKind::Slice { ref prefix, slice: Some(_), ref suffix } => { + PatKind::Slice { ref prefix, slice: Some(_), ref suffix } + | PatKind::Array { ref prefix, slice: Some(_), ref suffix } => { max_prefix_len = cmp::max(max_prefix_len, prefix.len() as u64); max_suffix_len = cmp::max(max_suffix_len, suffix.len() as u64); } @@ -2027,20 +2065,37 @@ fn split_grouped_constructors<'p, 'tcx>( max_prefix_len = max_fixed_len + 1 - max_suffix_len; } - // `ctor` originally covered the range `(self_prefix + self_suffix..infinity)`. We - // now split it into two: lengths smaller than `max_prefix_len + max_suffix_len` - // are treated independently as fixed-lengths slices, and lengths above are - // captured by a final VarLenSlice constructor. - split_ctors.extend( - (self_prefix + self_suffix..max_prefix_len + max_suffix_len).map(FixedLenSlice), - ); - split_ctors.push(VarLenSlice(max_prefix_len, max_suffix_len)); + match ctor { + LazyFixedLenSlice { len, .. } => { + if max_prefix_len + max_suffix_len < len { + split_ctors.push(LazyFixedLenSlice { + len, + prefix: max_prefix_len, + suffix: max_suffix_len, + }); + } else { + split_ctors.push(FixedLenSlice(len)); + } + } + _ => { + // `ctor` originally covered the range `(self_prefix + self_suffix..infinity)`. We + // now split it into two: lengths smaller than `max_prefix_len + max_suffix_len` + // are treated independently as fixed-lengths slices, and lengths above are + // captured by a final VarLenSlice constructor. + split_ctors.extend( + (self_prefix + self_suffix..max_prefix_len + max_suffix_len) + .map(FixedLenSlice), + ); + split_ctors.push(VarLenSlice(max_prefix_len, max_suffix_len)); + } + } } // Any other constructor can be used unchanged. _ => split_ctors.push(ctor), } } + debug!("split_grouped_constructors(..)={:#?}", split_ctors); split_ctors } @@ -2252,7 +2307,7 @@ fn specialize_one_pattern<'p, 'a: 'p, 'q: 'p, 'tcx>( PatKind::Array { ref prefix, ref slice, ref suffix } | PatKind::Slice { ref prefix, ref slice, ref suffix } => match *constructor { - FixedLenSlice(..) | VarLenSlice(..) => { + FixedLenSlice(..) | LazyFixedLenSlice { .. } | VarLenSlice(..) => { let pat_len = prefix.len() + suffix.len(); if let Some(slice_count) = ctor_wild_subpatterns.len().checked_sub(pat_len) { if slice_count == 0 || slice.is_some() { diff --git a/src/test/ui/pattern/usefulness/match-byte-array-patterns-2.stderr b/src/test/ui/pattern/usefulness/match-byte-array-patterns-2.stderr index 6e52072e3bfec..63ed49094fc50 100644 --- a/src/test/ui/pattern/usefulness/match-byte-array-patterns-2.stderr +++ b/src/test/ui/pattern/usefulness/match-byte-array-patterns-2.stderr @@ -1,8 +1,8 @@ -error[E0004]: non-exhaustive patterns: `&[_, _, _, _]` not covered +error[E0004]: non-exhaustive patterns: `&[..]` not covered --> $DIR/match-byte-array-patterns-2.rs:4:11 | LL | match buf { - | ^^^ pattern `&[_, _, _, _]` not covered + | ^^^ pattern `&[..]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms diff --git a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs index 11ca06e36adc0..5881c35d356b9 100644 --- a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs +++ b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs @@ -12,11 +12,11 @@ fn main() { [true, .., true] => {} } match s3 { - //~^ ERROR `&[false, _, _]` not covered + //~^ ERROR `&[false, .., _]` not covered [true, .., true] => {} } match s10 { - //~^ ERROR `&[false, _, _, _, _, _, _, _, _, _]` not covered + //~^ ERROR `&[false, .., _]` not covered [true, .., true] => {} } @@ -30,7 +30,7 @@ fn main() { [.., false] => {} } match s3 { - //~^ ERROR `&[false, _, true]` not covered + //~^ ERROR `&[false, .., true]` not covered [true, ..] => {} [.., false] => {} } diff --git a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr index 7bf283ec741ba..9a711f2a441dc 100644 --- a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr +++ b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr @@ -6,19 +6,19 @@ LL | match s2 { | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error[E0004]: non-exhaustive patterns: `&[false, _, _]` not covered +error[E0004]: non-exhaustive patterns: `&[false, .., _]` not covered --> $DIR/slice-patterns-exhaustiveness.rs:14:11 | LL | match s3 { - | ^^ pattern `&[false, _, _]` not covered + | ^^ pattern `&[false, .., _]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error[E0004]: non-exhaustive patterns: `&[false, _, _, _, _, _, _, _, _, _]` not covered +error[E0004]: non-exhaustive patterns: `&[false, .., _]` not covered --> $DIR/slice-patterns-exhaustiveness.rs:18:11 | LL | match s10 { - | ^^^ pattern `&[false, _, _, _, _, _, _, _, _, _]` not covered + | ^^^ pattern `&[false, .., _]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms @@ -30,11 +30,11 @@ LL | match s2 { | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error[E0004]: non-exhaustive patterns: `&[false, _, true]` not covered +error[E0004]: non-exhaustive patterns: `&[false, .., true]` not covered --> $DIR/slice-patterns-exhaustiveness.rs:32:11 | LL | match s3 { - | ^^ pattern `&[false, _, true]` not covered + | ^^ pattern `&[false, .., true]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms From 5b420a9dc476d23e54a0b3733cad173866a1fb1d Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 16 Nov 2019 16:43:55 +0000 Subject: [PATCH 05/24] Add regression test for issue 53820 --- .../pattern/issue-53820-slice-pattern-large-array.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs diff --git a/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs b/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs new file mode 100644 index 0000000000000..38c830e4d69bb --- /dev/null +++ b/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs @@ -0,0 +1,10 @@ +// check-pass +#![feature(slice_patterns)] + +fn main() { + const LARGE_SIZE: usize = 1024 * 1024; + let [..] = [0u8; LARGE_SIZE]; + match [0u8; LARGE_SIZE] { + [..] => {} + } +} From ce7a579cace5de621071a9e18416268e93246fdd Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sat, 16 Nov 2019 23:35:27 +0300 Subject: [PATCH 06/24] rustc_plugin: Remove the compatibility shim --- Cargo.lock | 8 -------- src/librustc_driver/Cargo.toml | 1 - src/librustc_interface/Cargo.toml | 2 +- src/librustc_interface/passes.rs | 4 ++-- src/librustc_plugin/deprecated/Cargo.toml | 14 -------------- src/librustc_plugin/deprecated/lib.rs | 8 -------- 6 files changed, 3 insertions(+), 34 deletions(-) delete mode 100644 src/librustc_plugin/deprecated/Cargo.toml delete mode 100644 src/librustc_plugin/deprecated/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 2ecb38851e7bd..1923032a4dd0c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3529,7 +3529,6 @@ dependencies = [ "rustc_metadata", "rustc_mir", "rustc_parse", - "rustc_plugin", "rustc_plugin_impl", "rustc_resolve", "rustc_save_analysis", @@ -3758,13 +3757,6 @@ dependencies = [ "syntax_pos", ] -[[package]] -name = "rustc_plugin" -version = "0.0.0" -dependencies = [ - "rustc_plugin_impl", -] - [[package]] name = "rustc_plugin_impl" version = "0.0.0" diff --git a/src/librustc_driver/Cargo.toml b/src/librustc_driver/Cargo.toml index ff673e52b60c2..f9613d1aafc69 100644 --- a/src/librustc_driver/Cargo.toml +++ b/src/librustc_driver/Cargo.toml @@ -22,7 +22,6 @@ errors = { path = "../librustc_errors", package = "rustc_errors" } rustc_metadata = { path = "../librustc_metadata" } rustc_mir = { path = "../librustc_mir" } rustc_parse = { path = "../librustc_parse" } -rustc_plugin = { path = "../librustc_plugin/deprecated" } # To get this in the sysroot rustc_plugin_impl = { path = "../librustc_plugin" } rustc_save_analysis = { path = "../librustc_save_analysis" } rustc_codegen_utils = { path = "../librustc_codegen_utils" } diff --git a/src/librustc_interface/Cargo.toml b/src/librustc_interface/Cargo.toml index de59882bbdf95..7efcc2855bbaa 100644 --- a/src/librustc_interface/Cargo.toml +++ b/src/librustc_interface/Cargo.toml @@ -31,7 +31,7 @@ rustc_passes = { path = "../librustc_passes" } rustc_typeck = { path = "../librustc_typeck" } rustc_lint = { path = "../librustc_lint" } rustc_errors = { path = "../librustc_errors" } -rustc_plugin = { path = "../librustc_plugin", package = "rustc_plugin_impl" } +rustc_plugin_impl = { path = "../librustc_plugin" } rustc_privacy = { path = "../librustc_privacy" } rustc_resolve = { path = "../librustc_resolve" } tempfile = "3.0.5" diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 86d58bfe8bdac..5df814da770ad 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -29,8 +29,8 @@ use rustc_metadata::cstore; use rustc_mir as mir; use rustc_parse::{parse_crate_from_file, parse_crate_from_source_str}; use rustc_passes::{self, ast_validation, hir_stats, layout_test}; -use rustc_plugin as plugin; -use rustc_plugin::registry::Registry; +use rustc_plugin_impl as plugin; +use rustc_plugin_impl::registry::Registry; use rustc_privacy; use rustc_resolve::{Resolver, ResolverArenas}; use rustc_traits; diff --git a/src/librustc_plugin/deprecated/Cargo.toml b/src/librustc_plugin/deprecated/Cargo.toml deleted file mode 100644 index cc75f7b9ab20d..0000000000000 --- a/src/librustc_plugin/deprecated/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -authors = ["The Rust Project Developers"] -name = "rustc_plugin" -version = "0.0.0" -build = false -edition = "2018" - -[lib] -name = "rustc_plugin" -path = "lib.rs" -doctest = false - -[dependencies] -rustc_plugin_impl = { path = ".." } diff --git a/src/librustc_plugin/deprecated/lib.rs b/src/librustc_plugin/deprecated/lib.rs deleted file mode 100644 index 1d0afe84c25a8..0000000000000 --- a/src/librustc_plugin/deprecated/lib.rs +++ /dev/null @@ -1,8 +0,0 @@ -#![doc(html_root_url = "https://doc.rust-lang.org/nightly/")] -#![feature(staged_api)] -#![unstable(feature = "rustc_private", issue = "27812")] -#![rustc_deprecated(since = "1.38.0", reason = "\ - import this through `rustc_driver::plugin` instead to make TLS work correctly. \ - See https://github.com/rust-lang/rust/issues/62717")] - -pub use rustc_plugin_impl::*; From 7f49f7bcc275062ac7f77b6f58d72e8b180bf367 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sun, 17 Nov 2019 00:54:24 +0300 Subject: [PATCH 07/24] Rename directory `rustc_plugin` -> `rustc_plugin_impl` --- src/librustc_driver/Cargo.toml | 2 +- src/librustc_interface/Cargo.toml | 2 +- src/{librustc_plugin => librustc_plugin_impl}/Cargo.toml | 0 src/{librustc_plugin => librustc_plugin_impl}/build.rs | 0 src/{librustc_plugin => librustc_plugin_impl}/lib.rs | 0 src/{librustc_plugin => librustc_plugin_impl}/load.rs | 0 src/{librustc_plugin => librustc_plugin_impl}/registry.rs | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename src/{librustc_plugin => librustc_plugin_impl}/Cargo.toml (100%) rename src/{librustc_plugin => librustc_plugin_impl}/build.rs (100%) rename src/{librustc_plugin => librustc_plugin_impl}/lib.rs (100%) rename src/{librustc_plugin => librustc_plugin_impl}/load.rs (100%) rename src/{librustc_plugin => librustc_plugin_impl}/registry.rs (100%) diff --git a/src/librustc_driver/Cargo.toml b/src/librustc_driver/Cargo.toml index f9613d1aafc69..2b7e4d35248e6 100644 --- a/src/librustc_driver/Cargo.toml +++ b/src/librustc_driver/Cargo.toml @@ -22,7 +22,7 @@ errors = { path = "../librustc_errors", package = "rustc_errors" } rustc_metadata = { path = "../librustc_metadata" } rustc_mir = { path = "../librustc_mir" } rustc_parse = { path = "../librustc_parse" } -rustc_plugin_impl = { path = "../librustc_plugin" } +rustc_plugin_impl = { path = "../librustc_plugin_impl" } rustc_save_analysis = { path = "../librustc_save_analysis" } rustc_codegen_utils = { path = "../librustc_codegen_utils" } rustc_error_codes = { path = "../librustc_error_codes" } diff --git a/src/librustc_interface/Cargo.toml b/src/librustc_interface/Cargo.toml index 7efcc2855bbaa..7ab5ec2b2329e 100644 --- a/src/librustc_interface/Cargo.toml +++ b/src/librustc_interface/Cargo.toml @@ -31,7 +31,7 @@ rustc_passes = { path = "../librustc_passes" } rustc_typeck = { path = "../librustc_typeck" } rustc_lint = { path = "../librustc_lint" } rustc_errors = { path = "../librustc_errors" } -rustc_plugin_impl = { path = "../librustc_plugin" } +rustc_plugin_impl = { path = "../librustc_plugin_impl" } rustc_privacy = { path = "../librustc_privacy" } rustc_resolve = { path = "../librustc_resolve" } tempfile = "3.0.5" diff --git a/src/librustc_plugin/Cargo.toml b/src/librustc_plugin_impl/Cargo.toml similarity index 100% rename from src/librustc_plugin/Cargo.toml rename to src/librustc_plugin_impl/Cargo.toml diff --git a/src/librustc_plugin/build.rs b/src/librustc_plugin_impl/build.rs similarity index 100% rename from src/librustc_plugin/build.rs rename to src/librustc_plugin_impl/build.rs diff --git a/src/librustc_plugin/lib.rs b/src/librustc_plugin_impl/lib.rs similarity index 100% rename from src/librustc_plugin/lib.rs rename to src/librustc_plugin_impl/lib.rs diff --git a/src/librustc_plugin/load.rs b/src/librustc_plugin_impl/load.rs similarity index 100% rename from src/librustc_plugin/load.rs rename to src/librustc_plugin_impl/load.rs diff --git a/src/librustc_plugin/registry.rs b/src/librustc_plugin_impl/registry.rs similarity index 100% rename from src/librustc_plugin/registry.rs rename to src/librustc_plugin_impl/registry.rs From d0cfef32a8439b6936d9348e2ec17397fe2baeb2 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 17 Nov 2019 15:54:44 +0000 Subject: [PATCH 08/24] Unify the various slice constructors --- src/librustc_mir/hair/pattern/_match.rs | 181 +++++++++++++----------- 1 file changed, 99 insertions(+), 82 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index fdee2ffee983c..2ccddabfb2f41 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -225,6 +225,7 @@ /// anything special (because we know none of the integers are actually wildcards: i.e., we /// can't span wildcards using ranges). use self::Constructor::*; +use self::SliceKind::*; use self::Usefulness::*; use self::WitnessPreference::*; @@ -582,6 +583,23 @@ impl<'a, 'tcx> MatchCheckCtxt<'a, 'tcx> { } } +#[derive(Copy, Clone, Debug, PartialEq)] +enum SliceKind { + /// Array patterns of length `n`. + FixedLen(u64), + /// Slice patterns. Captures any array constructor of `length >= i + j`. + VarLen(u64, u64), +} + +impl SliceKind { + fn arity(self) -> u64 { + match self { + FixedLen(length) => length, + VarLen(prefix, suffix) => prefix + suffix, + } + } +} + #[derive(Clone, Debug, PartialEq)] enum Constructor<'tcx> { /// The constructor of all patterns that don't vary by constructor, @@ -595,18 +613,12 @@ enum Constructor<'tcx> { IntRange(IntRange<'tcx>), /// Ranges of floating-point literal values (`2.0..=5.2`). FloatRange(&'tcx ty::Const<'tcx>, &'tcx ty::Const<'tcx>, RangeEnd), - /// Array patterns of length `n`. - FixedLenSlice(u64), - /// Array patterns of length `len`, but for which we only care about the `prefix` first values - /// and the `suffix` last values. This avoids unnecessarily going through values we know to be - /// uninteresting, which can be a major problem for large arrays. - LazyFixedLenSlice { - len: u64, // The actual length of the array - prefix: u64, - suffix: u64, + /// Array and slice patterns. + Slice { + // The length of the type of the pattern, if fixed. + type_len: Option, + kind: SliceKind, }, - /// Slice patterns. Captures any array constructor of `length >= i + j`. - VarLenSlice(u64, u64), /// Fake extra constructor for enums that aren't allowed to be matched exhaustively. NonExhaustive, } @@ -614,7 +626,7 @@ enum Constructor<'tcx> { impl<'tcx> Constructor<'tcx> { fn is_slice(&self) -> bool { match self { - FixedLenSlice { .. } | LazyFixedLenSlice { .. } | VarLenSlice { .. } => true, + Slice { .. } => true, _ => false, } } @@ -643,20 +655,24 @@ impl<'tcx> Constructor<'tcx> { Single | Variant(_) | ConstantValue(..) | FloatRange(..) => { if other_ctors.iter().any(|c| c == self) { vec![] } else { vec![self.clone()] } } - &FixedLenSlice(self_len) | &LazyFixedLenSlice { len: self_len, .. } => { + &Slice { type_len: Some(self_len), .. } | &Slice { kind: FixedLen(self_len), .. } => { let overlaps = |c: &Constructor<'_>| match *c { - FixedLenSlice(len) | LazyFixedLenSlice { len, .. } => len == self_len, - VarLenSlice(prefix, suffix) => prefix + suffix <= self_len, + Slice { type_len: Some(len), .. } | Slice { kind: FixedLen(len), .. } => { + len == self_len + } + Slice { type_len: None, kind: VarLen(prefix, suffix) } => { + prefix + suffix <= self_len + } _ => false, }; if other_ctors.iter().any(overlaps) { vec![] } else { vec![self.clone()] } } - VarLenSlice(..) => { + Slice { type_len: None, kind: VarLen(..) } => { let mut remaining_ctors = vec![self.clone()]; // For each used ctor, subtract from the current set of constructors. // Naming: we remove the "neg" constructors from the "pos" ones. - // Remember, `VarLenSlice(i, j)` covers the union of `FixedLenSlice` from + // Remember, `VarLen(i, j)` covers the union of `FixedLen` from // `i + j` to infinity. for neg_ctor in other_ctors { remaining_ctors = remaining_ctors @@ -664,50 +680,64 @@ impl<'tcx> Constructor<'tcx> { .flat_map(|pos_ctor| -> SmallVec<[Constructor<'tcx>; 1]> { // Compute `pos_ctor \ neg_ctor`. match pos_ctor { - FixedLenSlice(pos_len) => match *neg_ctor { - FixedLenSlice(neg_len) - | LazyFixedLenSlice { len: neg_len, .. } + Slice { type_len: Some(pos_len), .. } + | Slice { kind: FixedLen(pos_len), .. } => match *neg_ctor { + Slice { type_len: Some(neg_len), .. } + | Slice { kind: FixedLen(neg_len), .. } if neg_len == pos_len => { smallvec![] } - VarLenSlice(neg_prefix, neg_suffix) - if neg_prefix + neg_suffix <= pos_len => - { - smallvec![] - } + Slice { + type_len: None, + kind: VarLen(neg_prefix, neg_suffix), + } if neg_prefix + neg_suffix <= pos_len => smallvec![], _ => smallvec![pos_ctor], }, - VarLenSlice(pos_prefix, pos_suffix) => { + Slice { type_len: None, kind: VarLen(pos_prefix, pos_suffix) } => { let pos_len = pos_prefix + pos_suffix; match *neg_ctor { - FixedLenSlice(neg_len) - | LazyFixedLenSlice { len: neg_len, .. } + Slice { type_len: Some(neg_len), .. } + | Slice { kind: FixedLen(neg_len), .. } if neg_len >= pos_len => { (pos_len..neg_len) - .map(FixedLenSlice) + .map(|l| Slice { + type_len: None, + kind: FixedLen(l), + }) // We know that `neg_len + 1 >= pos_len >= // pos_suffix`. - .chain(Some(VarLenSlice( - neg_len + 1 - pos_suffix, - pos_suffix, - ))) + .chain(Some(Slice { + type_len: None, + kind: VarLen( + neg_len + 1 - pos_suffix, + pos_suffix, + ), + })) .collect() } - VarLenSlice(neg_prefix, neg_suffix) => { + Slice { + type_len: None, + kind: VarLen(neg_prefix, neg_suffix), + } => { let neg_len = neg_prefix + neg_suffix; if neg_len <= pos_len { smallvec![] } else { - (pos_len..neg_len).map(FixedLenSlice).collect() + (pos_len..neg_len) + .map(|l| Slice { + type_len: None, + kind: FixedLen(l), + }) + .collect() } } _ => smallvec![pos_ctor], } } _ => bug!( - "unexpected ctor while subtracting from VarLenSlice: {:?}", + "unexpected ctor while subtracting from VarLen: {:?}", pos_ctor ), } @@ -815,7 +845,7 @@ impl<'tcx> Constructor<'tcx> { } _ => vec![], }, - FixedLenSlice(_) | LazyFixedLenSlice { .. } | VarLenSlice(..) => match ty.kind { + Slice { .. } => match ty.kind { ty::Slice(ty) | ty::Array(ty, _) => { let arity = self.arity(cx, ty); (0..arity).map(|_| Pat::wildcard_from_ty(ty)).collect() @@ -845,10 +875,7 @@ impl<'tcx> Constructor<'tcx> { } _ => 0, }, - FixedLenSlice(length) => *length, - VarLenSlice(prefix, suffix) | LazyFixedLenSlice { prefix, suffix, .. } => { - prefix + suffix - } + Slice { kind, .. } => kind.arity(), ConstantValue(..) | FloatRange(..) | IntRange(..) | NonExhaustive => 0, } } @@ -903,13 +930,15 @@ impl<'tcx> Constructor<'tcx> { ty::Slice(_) | ty::Array(..) => bug!("bad slice pattern {:?} {:?}", self, ty), _ => PatKind::Wild, }, - FixedLenSlice(_) => { + Slice { kind: FixedLen(_), .. } => { PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } } - LazyFixedLenSlice { len, prefix, suffix } if prefix + suffix == *len => { + Slice { type_len: Some(len), kind: VarLen(prefix, suffix) } + if prefix + suffix == *len => + { PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } } - VarLenSlice(prefix, _) | LazyFixedLenSlice { prefix, .. } => { + Slice { kind: VarLen(prefix, _), .. } => { let prefix = subpatterns.by_ref().take(*prefix as usize).collect(); let suffix = subpatterns.collect(); let wild = Pat::wildcard_from_ty(ty); @@ -1130,15 +1159,15 @@ fn all_constructors<'a, 'tcx>( if len != 0 && cx.is_uninhabited(sub_ty) { vec![] } else { - vec![LazyFixedLenSlice { len, prefix: 0, suffix: 0 }] + vec![Slice { type_len: Some(len), kind: VarLen(0, 0) }] } } // Treat arrays of a constant but unknown length like slices. ty::Array(ref sub_ty, _) | ty::Slice(ref sub_ty) => { if cx.is_uninhabited(sub_ty) { - vec![FixedLenSlice(0)] + vec![Slice { type_len: None, kind: FixedLen(0) }] } else { - vec![VarLenSlice(0, 0)] + vec![Slice { type_len: None, kind: VarLen(0, 0) }] } } ty::Adt(def, substs) if def.is_enum() => { @@ -1719,27 +1748,18 @@ fn pat_constructor<'tcx>( Some(FloatRange(lo, hi, end)) } } - PatKind::Array { ref prefix, ref slice, ref suffix } => { - let len = match pat.ty.kind { - ty::Array(_, length) => length.eval_usize(tcx, param_env), - _ => span_bug!(pat.span, "bad ty {:?} for array pattern", pat.ty), + PatKind::Array { ref prefix, ref slice, ref suffix } + | PatKind::Slice { ref prefix, ref slice, ref suffix } => { + let type_len = match pat.ty.kind { + ty::Array(_, length) => Some(length.eval_usize(tcx, param_env)), + ty::Slice(_) => None, + _ => span_bug!(pat.span, "bad ty {:?} for slice pattern", pat.ty), }; let prefix = prefix.len() as u64; let suffix = suffix.len() as u64; - if slice.is_some() { - Some(LazyFixedLenSlice { len, prefix, suffix }) - } else { - Some(FixedLenSlice(len)) - } - } - PatKind::Slice { ref prefix, ref slice, ref suffix } => { - let prefix = prefix.len() as u64; - let suffix = suffix.len() as u64; - if slice.is_some() { - Some(VarLenSlice(prefix, suffix)) - } else { - Some(FixedLenSlice(prefix + suffix)) - } + let kind = + if slice.is_some() { VarLen(prefix, suffix) } else { FixedLen(prefix + suffix) }; + Some(Slice { type_len, kind }) } PatKind::Or { .. } => { bug!("support for or-patterns has not been fully implemented yet."); @@ -1955,8 +1975,7 @@ fn split_grouped_constructors<'p, 'tcx>( .map(IntRange), ); } - VarLenSlice(self_prefix, self_suffix) - | LazyFixedLenSlice { prefix: self_prefix, suffix: self_suffix, .. } => { + Slice { kind: VarLen(self_prefix, self_suffix), type_len } => { // The exhaustiveness-checking paper does not include any details on // checking variable-length slice patterns. However, they are matched // by an infinite collection of fixed-length array patterns. @@ -2065,28 +2084,26 @@ fn split_grouped_constructors<'p, 'tcx>( max_prefix_len = max_fixed_len + 1 - max_suffix_len; } - match ctor { - LazyFixedLenSlice { len, .. } => { - if max_prefix_len + max_suffix_len < len { - split_ctors.push(LazyFixedLenSlice { - len, - prefix: max_prefix_len, - suffix: max_suffix_len, - }); + match type_len { + Some(len) => { + let kind = if max_prefix_len + max_suffix_len < len { + VarLen(max_prefix_len, max_suffix_len) } else { - split_ctors.push(FixedLenSlice(len)); - } + FixedLen(len) + }; + split_ctors.push(Slice { type_len, kind }); } - _ => { + None => { // `ctor` originally covered the range `(self_prefix + self_suffix..infinity)`. We // now split it into two: lengths smaller than `max_prefix_len + max_suffix_len` // are treated independently as fixed-lengths slices, and lengths above are - // captured by a final VarLenSlice constructor. + // captured by a final VarLen constructor. split_ctors.extend( (self_prefix + self_suffix..max_prefix_len + max_suffix_len) - .map(FixedLenSlice), + .map(|len| Slice { type_len, kind: FixedLen(len) }), ); - split_ctors.push(VarLenSlice(max_prefix_len, max_suffix_len)); + split_ctors + .push(Slice { type_len, kind: VarLen(max_prefix_len, max_suffix_len) }); } } } @@ -2307,7 +2324,7 @@ fn specialize_one_pattern<'p, 'a: 'p, 'q: 'p, 'tcx>( PatKind::Array { ref prefix, ref slice, ref suffix } | PatKind::Slice { ref prefix, ref slice, ref suffix } => match *constructor { - FixedLenSlice(..) | LazyFixedLenSlice { .. } | VarLenSlice(..) => { + Slice { .. } => { let pat_len = prefix.len() + suffix.len(); if let Some(slice_count) = ctor_wild_subpatterns.len().checked_sub(pat_len) { if slice_count == 0 || slice.is_some() { From 54e97e889b97aa04d477329e26299a1bbc6fefe2 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 17 Nov 2019 17:33:39 +0000 Subject: [PATCH 09/24] Factor out slice constructor struct and simplify --- src/librustc_mir/hair/pattern/_match.rs | 301 +++++++++++++----------- 1 file changed, 160 insertions(+), 141 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index 2ccddabfb2f41..51ee1f29bf8e7 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -583,21 +583,110 @@ impl<'a, 'tcx> MatchCheckCtxt<'a, 'tcx> { } } -#[derive(Copy, Clone, Debug, PartialEq)] +#[derive(Copy, Clone, Debug, PartialEq, Eq)] enum SliceKind { - /// Array patterns of length `n`. + /// Patterns of length `n` (`[x, y]`). FixedLen(u64), - /// Slice patterns. Captures any array constructor of `length >= i + j`. + /// Patterns using the `..` notation (`[x, .., y]`). Captures any array constructor of `length + /// >= i + j`. In the case where `array_len` is `Some(_)`, this indicates that we only care + /// about the first `i` and the last `j` values of the array, and everything in between is a + /// wildcard `_`. VarLen(u64, u64), } -impl SliceKind { - fn arity(self) -> u64 { +/// A constructor for array and slice patterns. +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +struct Slice { + /// `None` if the matched value is a slice, `Some(n)` if it is an array of size `n`. + array_len: Option, + /// The kind of pattern it is: fixed-length `[x, y]` or variable length `[x, .., y]`. + kind: SliceKind, +} + +impl Slice { + /// Returns what patterns this constructor covers: either fixed-length patterns or + /// variable-length patterns. + fn pattern_kind(self) -> SliceKind { + match self { + Slice { array_len: Some(len), kind: VarLen(prefix, suffix) } + if prefix + suffix == len => + { + FixedLen(len) + } + _ => self.kind, + } + } + + /// Returns what values this constructor covers: either values of only one given length, or + /// values of length above a given length. + /// This is different from `pattern_kind()` because in some cases the pattern only takes into + /// account a subset of the entries of the array, but still only captures values of a given + /// length. + fn value_kind(self) -> SliceKind { match self { + Slice { array_len: Some(len), kind: VarLen(_, _) } => FixedLen(len), + _ => self.kind, + } + } + + fn arity(self) -> u64 { + match self.pattern_kind() { FixedLen(length) => length, VarLen(prefix, suffix) => prefix + suffix, } } + + /// Whether this pattern includes patterns of length `other_len`. + fn covers_length(self, other_len: u64) -> bool { + match self.value_kind() { + FixedLen(len) => len == other_len, + VarLen(prefix, suffix) => prefix + suffix <= other_len, + } + } + + /// Returns a collection of slices that spans the values covered by `self`, subtracted by the + /// values covered by `other`: i.e., `self \ other` (in set notation). + fn subtract(self, other: Self) -> SmallVec<[Self; 1]> { + // Remember, `VarLen(i, j)` covers the union of `FixedLen` from `i + j` to infinity. + // Naming: we remove the "neg" constructors from the "pos" ones. + match self.value_kind() { + FixedLen(pos_len) => { + if other.covers_length(pos_len) { + smallvec![] + } else { + smallvec![self] + } + } + VarLen(pos_prefix, pos_suffix) => { + let pos_len = pos_prefix + pos_suffix; + match other.value_kind() { + FixedLen(neg_len) => { + if neg_len < pos_len { + smallvec![self] + } else { + (pos_len..neg_len) + .map(FixedLen) + // We know that `neg_len + 1 >= pos_len >= pos_suffix`. + .chain(Some(VarLen(neg_len + 1 - pos_suffix, pos_suffix))) + .map(|kind| Slice { array_len: None, kind }) + .collect() + } + } + VarLen(neg_prefix, neg_suffix) => { + let neg_len = neg_prefix + neg_suffix; + if neg_len <= pos_len { + smallvec![] + } else { + (pos_len..neg_len) + .map(FixedLen) + .map(|kind| Slice { array_len: None, kind }) + .collect() + } + } + } + } + } + } } #[derive(Clone, Debug, PartialEq)] @@ -614,11 +703,7 @@ enum Constructor<'tcx> { /// Ranges of floating-point literal values (`2.0..=5.2`). FloatRange(&'tcx ty::Const<'tcx>, &'tcx ty::Const<'tcx>, RangeEnd), /// Array and slice patterns. - Slice { - // The length of the type of the pattern, if fixed. - type_len: Option, - kind: SliceKind, - }, + Slice(Slice), /// Fake extra constructor for enums that aren't allowed to be matched exhaustively. NonExhaustive, } @@ -626,7 +711,7 @@ enum Constructor<'tcx> { impl<'tcx> Constructor<'tcx> { fn is_slice(&self) -> bool { match self { - Slice { .. } => true, + Slice(_) => true, _ => false, } } @@ -655,104 +740,41 @@ impl<'tcx> Constructor<'tcx> { Single | Variant(_) | ConstantValue(..) | FloatRange(..) => { if other_ctors.iter().any(|c| c == self) { vec![] } else { vec![self.clone()] } } - &Slice { type_len: Some(self_len), .. } | &Slice { kind: FixedLen(self_len), .. } => { - let overlaps = |c: &Constructor<'_>| match *c { - Slice { type_len: Some(len), .. } | Slice { kind: FixedLen(len), .. } => { - len == self_len - } - Slice { type_len: None, kind: VarLen(prefix, suffix) } => { - prefix + suffix <= self_len + &Slice(slice) => match slice.value_kind() { + FixedLen(self_len) => { + let overlaps = |c: &Constructor<'_>| match *c { + Slice(other_slice) => other_slice.covers_length(self_len), + _ => false, + }; + if other_ctors.iter().any(overlaps) { vec![] } else { vec![Slice(slice)] } + } + VarLen(..) => { + let mut remaining_slices = vec![slice]; + + // For each used slice, subtract from the current set of slices. + // Naming: we remove the "neg" constructors from the "pos" ones. + for neg_ctor in other_ctors { + let neg_slice = match neg_ctor { + Slice(slice) => *slice, + // FIXME(#65413): If `neg_ctor` is not a slice, we assume it doesn't + // cover any value here. + _ => continue, + }; + remaining_slices = remaining_slices + .into_iter() + .flat_map(|pos_slice| pos_slice.subtract(neg_slice)) + .collect(); + + // If the constructors that have been considered so far already cover + // the entire range of `self`, no need to look at more constructors. + if remaining_slices.is_empty() { + break; + } } - _ => false, - }; - if other_ctors.iter().any(overlaps) { vec![] } else { vec![self.clone()] } - } - Slice { type_len: None, kind: VarLen(..) } => { - let mut remaining_ctors = vec![self.clone()]; - - // For each used ctor, subtract from the current set of constructors. - // Naming: we remove the "neg" constructors from the "pos" ones. - // Remember, `VarLen(i, j)` covers the union of `FixedLen` from - // `i + j` to infinity. - for neg_ctor in other_ctors { - remaining_ctors = remaining_ctors - .into_iter() - .flat_map(|pos_ctor| -> SmallVec<[Constructor<'tcx>; 1]> { - // Compute `pos_ctor \ neg_ctor`. - match pos_ctor { - Slice { type_len: Some(pos_len), .. } - | Slice { kind: FixedLen(pos_len), .. } => match *neg_ctor { - Slice { type_len: Some(neg_len), .. } - | Slice { kind: FixedLen(neg_len), .. } - if neg_len == pos_len => - { - smallvec![] - } - Slice { - type_len: None, - kind: VarLen(neg_prefix, neg_suffix), - } if neg_prefix + neg_suffix <= pos_len => smallvec![], - _ => smallvec![pos_ctor], - }, - Slice { type_len: None, kind: VarLen(pos_prefix, pos_suffix) } => { - let pos_len = pos_prefix + pos_suffix; - match *neg_ctor { - Slice { type_len: Some(neg_len), .. } - | Slice { kind: FixedLen(neg_len), .. } - if neg_len >= pos_len => - { - (pos_len..neg_len) - .map(|l| Slice { - type_len: None, - kind: FixedLen(l), - }) - // We know that `neg_len + 1 >= pos_len >= - // pos_suffix`. - .chain(Some(Slice { - type_len: None, - kind: VarLen( - neg_len + 1 - pos_suffix, - pos_suffix, - ), - })) - .collect() - } - Slice { - type_len: None, - kind: VarLen(neg_prefix, neg_suffix), - } => { - let neg_len = neg_prefix + neg_suffix; - if neg_len <= pos_len { - smallvec![] - } else { - (pos_len..neg_len) - .map(|l| Slice { - type_len: None, - kind: FixedLen(l), - }) - .collect() - } - } - _ => smallvec![pos_ctor], - } - } - _ => bug!( - "unexpected ctor while subtracting from VarLen: {:?}", - pos_ctor - ), - } - }) - .collect(); - // If the constructors that have been considered so far already cover - // the entire range of `self`, no need to look at more constructors. - if remaining_ctors.is_empty() { - break; - } + remaining_slices.into_iter().map(Slice).collect() } - - remaining_ctors - } + }, IntRange(self_range) => { let mut remaining_ranges = vec![self_range.clone()]; for other_ctor in other_ctors { @@ -845,7 +867,7 @@ impl<'tcx> Constructor<'tcx> { } _ => vec![], }, - Slice { .. } => match ty.kind { + Slice(_) => match ty.kind { ty::Slice(ty) | ty::Array(ty, _) => { let arity = self.arity(cx, ty); (0..arity).map(|_| Pat::wildcard_from_ty(ty)).collect() @@ -875,7 +897,7 @@ impl<'tcx> Constructor<'tcx> { } _ => 0, }, - Slice { kind, .. } => kind.arity(), + Slice(slice) => slice.arity(), ConstantValue(..) | FloatRange(..) | IntRange(..) | NonExhaustive => 0, } } @@ -930,20 +952,17 @@ impl<'tcx> Constructor<'tcx> { ty::Slice(_) | ty::Array(..) => bug!("bad slice pattern {:?} {:?}", self, ty), _ => PatKind::Wild, }, - Slice { kind: FixedLen(_), .. } => { - PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } - } - Slice { type_len: Some(len), kind: VarLen(prefix, suffix) } - if prefix + suffix == *len => - { - PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } - } - Slice { kind: VarLen(prefix, _), .. } => { - let prefix = subpatterns.by_ref().take(*prefix as usize).collect(); - let suffix = subpatterns.collect(); - let wild = Pat::wildcard_from_ty(ty); - PatKind::Slice { prefix, slice: Some(wild), suffix } - } + Slice(slice) => match slice.pattern_kind() { + FixedLen(_) => { + PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } + } + VarLen(prefix, _) => { + let prefix = subpatterns.by_ref().take(prefix as usize).collect(); + let suffix = subpatterns.collect(); + let wild = Pat::wildcard_from_ty(ty); + PatKind::Slice { prefix, slice: Some(wild), suffix } + } + }, &ConstantValue(value) => PatKind::Constant { value }, &FloatRange(lo, hi, end) => PatKind::Range(PatRange { lo, hi, end }), IntRange(range) => return range.to_pat(cx.tcx), @@ -1159,16 +1178,13 @@ fn all_constructors<'a, 'tcx>( if len != 0 && cx.is_uninhabited(sub_ty) { vec![] } else { - vec![Slice { type_len: Some(len), kind: VarLen(0, 0) }] + vec![Slice(Slice { array_len: Some(len), kind: VarLen(0, 0) })] } } // Treat arrays of a constant but unknown length like slices. ty::Array(ref sub_ty, _) | ty::Slice(ref sub_ty) => { - if cx.is_uninhabited(sub_ty) { - vec![Slice { type_len: None, kind: FixedLen(0) }] - } else { - vec![Slice { type_len: None, kind: VarLen(0, 0) }] - } + let kind = if cx.is_uninhabited(sub_ty) { FixedLen(0) } else { VarLen(0, 0) }; + vec![Slice(Slice { array_len: None, kind })] } ty::Adt(def, substs) if def.is_enum() => { let ctors: Vec<_> = def @@ -1750,7 +1766,7 @@ fn pat_constructor<'tcx>( } PatKind::Array { ref prefix, ref slice, ref suffix } | PatKind::Slice { ref prefix, ref slice, ref suffix } => { - let type_len = match pat.ty.kind { + let array_len = match pat.ty.kind { ty::Array(_, length) => Some(length.eval_usize(tcx, param_env)), ty::Slice(_) => None, _ => span_bug!(pat.span, "bad ty {:?} for slice pattern", pat.ty), @@ -1759,7 +1775,7 @@ fn pat_constructor<'tcx>( let suffix = suffix.len() as u64; let kind = if slice.is_some() { VarLen(prefix, suffix) } else { FixedLen(prefix + suffix) }; - Some(Slice { type_len, kind }) + Some(Slice(Slice { array_len, kind })) } PatKind::Or { .. } => { bug!("support for or-patterns has not been fully implemented yet."); @@ -1975,7 +1991,7 @@ fn split_grouped_constructors<'p, 'tcx>( .map(IntRange), ); } - Slice { kind: VarLen(self_prefix, self_suffix), type_len } => { + Slice(Slice { array_len, kind: VarLen(self_prefix, self_suffix) }) => { // The exhaustiveness-checking paper does not include any details on // checking variable-length slice patterns. However, they are matched // by an infinite collection of fixed-length array patterns. @@ -2084,26 +2100,29 @@ fn split_grouped_constructors<'p, 'tcx>( max_prefix_len = max_fixed_len + 1 - max_suffix_len; } - match type_len { + match array_len { Some(len) => { let kind = if max_prefix_len + max_suffix_len < len { VarLen(max_prefix_len, max_suffix_len) } else { FixedLen(len) }; - split_ctors.push(Slice { type_len, kind }); + split_ctors.push(Slice(Slice { array_len, kind })); } None => { - // `ctor` originally covered the range `(self_prefix + self_suffix..infinity)`. We - // now split it into two: lengths smaller than `max_prefix_len + max_suffix_len` - // are treated independently as fixed-lengths slices, and lengths above are - // captured by a final VarLen constructor. + // `ctor` originally covered the range `(self_prefix + + // self_suffix..infinity)`. We now split it into two: lengths smaller than + // `max_prefix_len + max_suffix_len` are treated independently as + // fixed-lengths slices, and lengths above are captured by a final VarLen + // constructor. split_ctors.extend( (self_prefix + self_suffix..max_prefix_len + max_suffix_len) - .map(|len| Slice { type_len, kind: FixedLen(len) }), + .map(|len| Slice(Slice { array_len, kind: FixedLen(len) })), ); - split_ctors - .push(Slice { type_len, kind: VarLen(max_prefix_len, max_suffix_len) }); + split_ctors.push(Slice(Slice { + array_len, + kind: VarLen(max_prefix_len, max_suffix_len), + })); } } } @@ -2324,7 +2343,7 @@ fn specialize_one_pattern<'p, 'a: 'p, 'q: 'p, 'tcx>( PatKind::Array { ref prefix, ref slice, ref suffix } | PatKind::Slice { ref prefix, ref slice, ref suffix } => match *constructor { - Slice { .. } => { + Slice(_) => { let pat_len = prefix.len() + suffix.len(); if let Some(slice_count) = ctor_wild_subpatterns.len().checked_sub(pat_len) { if slice_count == 0 || slice.is_some() { From daa117eab715f38d08facfb826b04116bc9fe0b7 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 17 Nov 2019 17:48:45 +0000 Subject: [PATCH 10/24] Small improvement to exhaustiveness diagnostics --- src/librustc_mir/hair/pattern/_match.rs | 16 ++++++++++++++-- .../usefulness/slice-patterns-exhaustiveness.rs | 4 ++-- .../slice-patterns-exhaustiveness.stderr | 8 ++++---- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index 51ee1f29bf8e7..d379f606da4e1 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -957,8 +957,20 @@ impl<'tcx> Constructor<'tcx> { PatKind::Slice { prefix: subpatterns.collect(), slice: None, suffix: vec![] } } VarLen(prefix, _) => { - let prefix = subpatterns.by_ref().take(prefix as usize).collect(); - let suffix = subpatterns.collect(); + let mut prefix: Vec<_> = subpatterns.by_ref().take(prefix as usize).collect(); + let mut suffix: Vec<_> = subpatterns.collect(); + if slice.array_len.is_some() { + // Improves diagnostics a bit: if the type is a known-size array, instead + // of reporting `[x, _, .., _, y]`, we prefer to report `[x, .., y]`. + // This is incorrect if the size is not known, since `[_, ..]` captures + // arrays of lengths `>= 1` whereas `[..]` captures any length. + while !suffix.is_empty() && suffix.first().unwrap().is_wildcard() { + suffix.remove(0); + } + while !prefix.is_empty() && prefix.last().unwrap().is_wildcard() { + prefix.pop(); + } + } let wild = Pat::wildcard_from_ty(ty); PatKind::Slice { prefix, slice: Some(wild), suffix } } diff --git a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs index 5881c35d356b9..eb3dfac950f79 100644 --- a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs +++ b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.rs @@ -12,11 +12,11 @@ fn main() { [true, .., true] => {} } match s3 { - //~^ ERROR `&[false, .., _]` not covered + //~^ ERROR `&[false, ..]` not covered [true, .., true] => {} } match s10 { - //~^ ERROR `&[false, .., _]` not covered + //~^ ERROR `&[false, ..]` not covered [true, .., true] => {} } diff --git a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr index 9a711f2a441dc..ebadedccfea21 100644 --- a/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr +++ b/src/test/ui/pattern/usefulness/slice-patterns-exhaustiveness.stderr @@ -6,19 +6,19 @@ LL | match s2 { | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error[E0004]: non-exhaustive patterns: `&[false, .., _]` not covered +error[E0004]: non-exhaustive patterns: `&[false, ..]` not covered --> $DIR/slice-patterns-exhaustiveness.rs:14:11 | LL | match s3 { - | ^^ pattern `&[false, .., _]` not covered + | ^^ pattern `&[false, ..]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms -error[E0004]: non-exhaustive patterns: `&[false, .., _]` not covered +error[E0004]: non-exhaustive patterns: `&[false, ..]` not covered --> $DIR/slice-patterns-exhaustiveness.rs:18:11 | LL | match s10 { - | ^^^ pattern `&[false, .., _]` not covered + | ^^^ pattern `&[false, ..]` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms From bd0e3ccd0bf81b57f115b344dcf424a3ed626cab Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 17 Nov 2019 19:08:01 +0000 Subject: [PATCH 11/24] Store SliceKinds directly when subtracting --- src/librustc_mir/hair/pattern/_match.rs | 111 +++++++++++++----------- 1 file changed, 58 insertions(+), 53 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index d379f606da4e1..182c9e22e4188 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -594,43 +594,9 @@ enum SliceKind { VarLen(u64, u64), } -/// A constructor for array and slice patterns. -#[derive(Copy, Clone, Debug, PartialEq, Eq)] -struct Slice { - /// `None` if the matched value is a slice, `Some(n)` if it is an array of size `n`. - array_len: Option, - /// The kind of pattern it is: fixed-length `[x, y]` or variable length `[x, .., y]`. - kind: SliceKind, -} - -impl Slice { - /// Returns what patterns this constructor covers: either fixed-length patterns or - /// variable-length patterns. - fn pattern_kind(self) -> SliceKind { - match self { - Slice { array_len: Some(len), kind: VarLen(prefix, suffix) } - if prefix + suffix == len => - { - FixedLen(len) - } - _ => self.kind, - } - } - - /// Returns what values this constructor covers: either values of only one given length, or - /// values of length above a given length. - /// This is different from `pattern_kind()` because in some cases the pattern only takes into - /// account a subset of the entries of the array, but still only captures values of a given - /// length. - fn value_kind(self) -> SliceKind { - match self { - Slice { array_len: Some(len), kind: VarLen(_, _) } => FixedLen(len), - _ => self.kind, - } - } - +impl SliceKind { fn arity(self) -> u64 { - match self.pattern_kind() { + match self { FixedLen(length) => length, VarLen(prefix, suffix) => prefix + suffix, } @@ -638,7 +604,7 @@ impl Slice { /// Whether this pattern includes patterns of length `other_len`. fn covers_length(self, other_len: u64) -> bool { - match self.value_kind() { + match self { FixedLen(len) => len == other_len, VarLen(prefix, suffix) => prefix + suffix <= other_len, } @@ -649,7 +615,7 @@ impl Slice { fn subtract(self, other: Self) -> SmallVec<[Self; 1]> { // Remember, `VarLen(i, j)` covers the union of `FixedLen` from `i + j` to infinity. // Naming: we remove the "neg" constructors from the "pos" ones. - match self.value_kind() { + match self { FixedLen(pos_len) => { if other.covers_length(pos_len) { smallvec![] @@ -659,7 +625,7 @@ impl Slice { } VarLen(pos_prefix, pos_suffix) => { let pos_len = pos_prefix + pos_suffix; - match other.value_kind() { + match other { FixedLen(neg_len) => { if neg_len < pos_len { smallvec![self] @@ -668,7 +634,6 @@ impl Slice { .map(FixedLen) // We know that `neg_len + 1 >= pos_len >= pos_suffix`. .chain(Some(VarLen(neg_len + 1 - pos_suffix, pos_suffix))) - .map(|kind| Slice { array_len: None, kind }) .collect() } } @@ -677,10 +642,7 @@ impl Slice { if neg_len <= pos_len { smallvec![] } else { - (pos_len..neg_len) - .map(FixedLen) - .map(|kind| Slice { array_len: None, kind }) - .collect() + (pos_len..neg_len).map(FixedLen).collect() } } } @@ -689,6 +651,46 @@ impl Slice { } } +/// A constructor for array and slice patterns. +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +struct Slice { + /// `None` if the matched value is a slice, `Some(n)` if it is an array of size `n`. + array_len: Option, + /// The kind of pattern it is: fixed-length `[x, y]` or variable length `[x, .., y]`. + kind: SliceKind, +} + +impl Slice { + /// Returns what patterns this constructor covers: either fixed-length patterns or + /// variable-length patterns. + fn pattern_kind(self) -> SliceKind { + match self { + Slice { array_len: Some(len), kind: VarLen(prefix, suffix) } + if prefix + suffix == len => + { + FixedLen(len) + } + _ => self.kind, + } + } + + /// Returns what values this constructor covers: either values of only one given length, or + /// values of length above a given length. + /// This is different from `pattern_kind()` because in some cases the pattern only takes into + /// account a subset of the entries of the array, but still only captures values of a given + /// length. + fn value_kind(self) -> SliceKind { + match self { + Slice { array_len: Some(len), kind: VarLen(_, _) } => FixedLen(len), + _ => self.kind, + } + } + + fn arity(self) -> u64 { + self.pattern_kind().arity() + } +} + #[derive(Clone, Debug, PartialEq)] enum Constructor<'tcx> { /// The constructor of all patterns that don't vary by constructor, @@ -743,26 +745,25 @@ impl<'tcx> Constructor<'tcx> { &Slice(slice) => match slice.value_kind() { FixedLen(self_len) => { let overlaps = |c: &Constructor<'_>| match *c { - Slice(other_slice) => other_slice.covers_length(self_len), + Slice(other_slice) => other_slice.value_kind().covers_length(self_len), _ => false, }; if other_ctors.iter().any(overlaps) { vec![] } else { vec![Slice(slice)] } } VarLen(..) => { - let mut remaining_slices = vec![slice]; + let mut remaining_slices = vec![slice.value_kind()]; // For each used slice, subtract from the current set of slices. - // Naming: we remove the "neg" constructors from the "pos" ones. - for neg_ctor in other_ctors { - let neg_slice = match neg_ctor { - Slice(slice) => *slice, - // FIXME(#65413): If `neg_ctor` is not a slice, we assume it doesn't + for other_ctor in other_ctors { + let other_slice = match other_ctor { + Slice(slice) => slice.value_kind(), + // FIXME(#65413): If `other_ctor` is not a slice, we assume it doesn't // cover any value here. _ => continue, }; remaining_slices = remaining_slices .into_iter() - .flat_map(|pos_slice| pos_slice.subtract(neg_slice)) + .flat_map(|remaining_slice| remaining_slice.subtract(other_slice)) .collect(); // If the constructors that have been considered so far already cover @@ -772,7 +773,11 @@ impl<'tcx> Constructor<'tcx> { } } - remaining_slices.into_iter().map(Slice).collect() + remaining_slices + .into_iter() + .map(|kind| Slice { array_len: slice.array_len, kind }) + .map(Slice) + .collect() } }, IntRange(self_range) => { From 7f5e0441e2246451e3b03ac907c4308d071e99fd Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 17 Nov 2019 19:24:48 +0000 Subject: [PATCH 12/24] `ConstantValue` is the only other ctor allowed when subtracting from slice ctors --- src/librustc_mir/hair/pattern/_match.rs | 72 +++++++++++++------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index 182c9e22e4188..a6afea228818c 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -742,44 +742,50 @@ impl<'tcx> Constructor<'tcx> { Single | Variant(_) | ConstantValue(..) | FloatRange(..) => { if other_ctors.iter().any(|c| c == self) { vec![] } else { vec![self.clone()] } } - &Slice(slice) => match slice.value_kind() { - FixedLen(self_len) => { - let overlaps = |c: &Constructor<'_>| match *c { - Slice(other_slice) => other_slice.value_kind().covers_length(self_len), - _ => false, - }; - if other_ctors.iter().any(overlaps) { vec![] } else { vec![Slice(slice)] } - } - VarLen(..) => { - let mut remaining_slices = vec![slice.value_kind()]; - - // For each used slice, subtract from the current set of slices. - for other_ctor in other_ctors { - let other_slice = match other_ctor { - Slice(slice) => slice.value_kind(), - // FIXME(#65413): If `other_ctor` is not a slice, we assume it doesn't - // cover any value here. - _ => continue, - }; - remaining_slices = remaining_slices - .into_iter() - .flat_map(|remaining_slice| remaining_slice.subtract(other_slice)) - .collect(); + &Slice(slice) => { + let mut other_slices = other_ctors + .iter() + .filter_map(|c: &Constructor<'_>| match c { + Slice(slice) => Some(*slice), + // FIXME(#65413): We ignore `ConstantValue`s here. + ConstantValue(..) => None, + _ => bug!("bad slice pattern constructor {:?}", c), + }) + .map(Slice::value_kind); - // If the constructors that have been considered so far already cover - // the entire range of `self`, no need to look at more constructors. - if remaining_slices.is_empty() { - break; + match slice.value_kind() { + FixedLen(self_len) => { + if other_slices.any(|other_slice| other_slice.covers_length(self_len)) { + vec![] + } else { + vec![Slice(slice)] } } + kind @ VarLen(..) => { + let mut remaining_slices = vec![kind]; + + // For each used slice, subtract from the current set of slices. + for other_slice in other_slices { + remaining_slices = remaining_slices + .into_iter() + .flat_map(|remaining_slice| remaining_slice.subtract(other_slice)) + .collect(); + + // If the constructors that have been considered so far already cover + // the entire range of `self`, no need to look at more constructors. + if remaining_slices.is_empty() { + break; + } + } - remaining_slices - .into_iter() - .map(|kind| Slice { array_len: slice.array_len, kind }) - .map(Slice) - .collect() + remaining_slices + .into_iter() + .map(|kind| Slice { array_len: slice.array_len, kind }) + .map(Slice) + .collect() + } } - }, + } IntRange(self_range) => { let mut remaining_ranges = vec![self_range.clone()]; for other_ctor in other_ctors { From 2079ae3a52db9c3f2022892b8473e6eb1e0f1656 Mon Sep 17 00:00:00 2001 From: Nadrieril Feneanar Date: Mon, 18 Nov 2019 15:40:49 +0000 Subject: [PATCH 13/24] Update src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs Co-Authored-By: Mazdak Farrokhzad --- src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs b/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs index 38c830e4d69bb..c910cded96be4 100644 --- a/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs +++ b/src/test/ui/pattern/issue-53820-slice-pattern-large-array.rs @@ -1,4 +1,7 @@ // check-pass + +// This used to cause a stack overflow in the compiler. + #![feature(slice_patterns)] fn main() { From 1425ae1154f3541a32e9ca607c09ce50cfb1298e Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Mon, 18 Nov 2019 15:47:51 +0000 Subject: [PATCH 14/24] Tweak diagnostics code --- src/librustc_mir/hair/pattern/_match.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/librustc_mir/hair/pattern/_match.rs b/src/librustc_mir/hair/pattern/_match.rs index a6afea228818c..5e7a7f01e7a32 100644 --- a/src/librustc_mir/hair/pattern/_match.rs +++ b/src/librustc_mir/hair/pattern/_match.rs @@ -969,19 +969,21 @@ impl<'tcx> Constructor<'tcx> { } VarLen(prefix, _) => { let mut prefix: Vec<_> = subpatterns.by_ref().take(prefix as usize).collect(); - let mut suffix: Vec<_> = subpatterns.collect(); if slice.array_len.is_some() { // Improves diagnostics a bit: if the type is a known-size array, instead // of reporting `[x, _, .., _, y]`, we prefer to report `[x, .., y]`. // This is incorrect if the size is not known, since `[_, ..]` captures // arrays of lengths `>= 1` whereas `[..]` captures any length. - while !suffix.is_empty() && suffix.first().unwrap().is_wildcard() { - suffix.remove(0); - } while !prefix.is_empty() && prefix.last().unwrap().is_wildcard() { prefix.pop(); } } + let suffix: Vec<_> = if slice.array_len.is_some() { + // Same as above. + subpatterns.skip_while(Pat::is_wildcard).collect() + } else { + subpatterns.collect() + }; let wild = Pat::wildcard_from_ty(ty); PatKind::Slice { prefix, slice: Some(wild), suffix } } From aae76304f98e4830c405b2ae16821ddcdf03c2b9 Mon Sep 17 00:00:00 2001 From: Agustin Fernandez Date: Tue, 29 Oct 2019 11:48:14 -0400 Subject: [PATCH 15/24] Add more context to `async fn` trait error. Suggest `async-trait`. --- src/librustc_passes/ast_validation.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs index edb91d5bf18ed..b7ec2893bb39e 100644 --- a/src/librustc_passes/ast_validation.rs +++ b/src/librustc_passes/ast_validation.rs @@ -174,7 +174,12 @@ impl<'a> AstValidator<'a> { fn check_trait_fn_not_async(&self, span: Span, asyncness: IsAsync) { if asyncness.is_async() { struct_span_err!(self.session, span, E0706, - "trait fns cannot be declared `async`").emit() + "trait fns cannot be declared `async`") + .note("Due to technical restrictions rust does not currently support `async` \ + trait fns.") + .note("Consider using the `async-trait` crate in the meantime until further \ + notice.") + .emit(); } } From a7678779a168d7b49cc22b073c8b68feb6d02d99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Mon, 18 Nov 2019 12:08:03 -0800 Subject: [PATCH 16/24] Reword help and add test --- src/librustc_passes/ast_validation.rs | 10 ++++------ src/test/ui/async-await/async-trait-fn.rs | 7 +++++++ src/test/ui/async-await/async-trait-fn.stderr | 20 +++++++++++++++++++ .../edition-deny-async-fns-2015.stderr | 3 +++ 4 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 src/test/ui/async-await/async-trait-fn.rs create mode 100644 src/test/ui/async-await/async-trait-fn.stderr diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs index b7ec2893bb39e..c4032ec5dd0db 100644 --- a/src/librustc_passes/ast_validation.rs +++ b/src/librustc_passes/ast_validation.rs @@ -173,12 +173,10 @@ impl<'a> AstValidator<'a> { fn check_trait_fn_not_async(&self, span: Span, asyncness: IsAsync) { if asyncness.is_async() { - struct_span_err!(self.session, span, E0706, - "trait fns cannot be declared `async`") - .note("Due to technical restrictions rust does not currently support `async` \ - trait fns.") - .note("Consider using the `async-trait` crate in the meantime until further \ - notice.") + struct_span_err!(self.session, span, E0706, "trait fns cannot be declared `async`") + .note("`async` trait functions are not currently supported") + .note("consider using the `async-trait` crate: \ + https://crates.io/crates/async-trait") .emit(); } } diff --git a/src/test/ui/async-await/async-trait-fn.rs b/src/test/ui/async-await/async-trait-fn.rs new file mode 100644 index 0000000000000..786100e916da0 --- /dev/null +++ b/src/test/ui/async-await/async-trait-fn.rs @@ -0,0 +1,7 @@ +// edition:2018 +trait T { + async fn foo() {} //~ ERROR trait fns cannot be declared `async` + async fn bar(&self) {} //~ ERROR trait fns cannot be declared `async` +} + +fn main() {} diff --git a/src/test/ui/async-await/async-trait-fn.stderr b/src/test/ui/async-await/async-trait-fn.stderr new file mode 100644 index 0000000000000..fb6e0c57d6a0d --- /dev/null +++ b/src/test/ui/async-await/async-trait-fn.stderr @@ -0,0 +1,20 @@ +error[E0706]: trait fns cannot be declared `async` + --> $DIR/async-trait-fn.rs:3:5 + | +LL | async fn foo() {} + | ^^^^^^^^^^^^^^^^^ + | + = note: `async` trait functions are not currently supported + = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait + +error[E0706]: trait fns cannot be declared `async` + --> $DIR/async-trait-fn.rs:4:5 + | +LL | async fn bar(&self) {} + | ^^^^^^^^^^^^^^^^^^^^^^ + | + = note: `async` trait functions are not currently supported + = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait + +error: aborting due to 2 previous errors + diff --git a/src/test/ui/async-await/edition-deny-async-fns-2015.stderr b/src/test/ui/async-await/edition-deny-async-fns-2015.stderr index 7633825eb32ab..dc1c891c591eb 100644 --- a/src/test/ui/async-await/edition-deny-async-fns-2015.stderr +++ b/src/test/ui/async-await/edition-deny-async-fns-2015.stderr @@ -57,6 +57,9 @@ error[E0706]: trait fns cannot be declared `async` | LL | async fn foo() {} | ^^^^^^^^^^^^^^^^^ + | + = note: `async` trait functions are not currently supported + = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait error: aborting due to 10 previous errors From a5d624d32c9cc04fa8424918c55d7a7bbe520ba1 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 18 Nov 2019 15:05:01 -0800 Subject: [PATCH 17/24] Generate DWARF address ranges for faster lookups This adds a new option `-Zgenerate-arange-section`, enabled by default, corresponding to LLVM's `-generate-arange-section`. This creates a `.debug_aranges` section with DWARF address ranges, which some tools depend on to optimize address lookups (elfutils [22288], [25173]). This only has effect when debuginfo is enabled, and the additional data is small compared to the other debug sections. For example, libstd.so with full debuginfo is about 11MB, with just 61kB in aranges. [22288]: https://sourceware.org/bugzilla/show_bug.cgi?id=22288 [25173]: https://sourceware.org/bugzilla/show_bug.cgi?id=25173 Closes #45246. --- src/librustc/session/config.rs | 2 ++ src/librustc_codegen_llvm/llvm_util.rs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index 4474b008c7949..f2e07850aa47c 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -1331,6 +1331,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, "for every macro invocation, print its name and arguments"), debug_macros: bool = (false, parse_bool, [TRACKED], "emit line numbers debug info inside macros"), + generate_arange_section: bool = (true, parse_bool, [UNTRACKED], + "generate DWARF address ranges for faster lookups"), keep_hygiene_data: bool = (false, parse_bool, [UNTRACKED], "don't clear the hygiene data after analysis"), keep_ast: bool = (false, parse_bool, [UNTRACKED], diff --git a/src/librustc_codegen_llvm/llvm_util.rs b/src/librustc_codegen_llvm/llvm_util.rs index 85e0b6d465ab0..290ca40926104 100644 --- a/src/librustc_codegen_llvm/llvm_util.rs +++ b/src/librustc_codegen_llvm/llvm_util.rs @@ -62,6 +62,9 @@ unsafe fn configure_llvm(sess: &Session) { if sess.opts.debugging_opts.disable_instrumentation_preinliner { add("-disable-preinline"); } + if sess.opts.debugging_opts.generate_arange_section { + add("-generate-arange-section"); + } if get_major_version() >= 8 { match sess.opts.debugging_opts.merge_functions .unwrap_or(sess.target.target.options.merge_functions) { From e565329144fec8ab2aa87afa170c41dc17ad018e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Mon, 18 Nov 2019 12:34:22 -0800 Subject: [PATCH 18/24] Add error code documentation --- src/librustc_error_codes/error_codes.rs | 2 +- src/librustc_error_codes/error_codes/E0706.md | 78 +++++++++++++++++++ src/test/ui/async-await/async-trait-fn.stderr | 1 + .../edition-deny-async-fns-2015.stderr | 3 +- 4 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 src/librustc_error_codes/error_codes/E0706.md diff --git a/src/librustc_error_codes/error_codes.rs b/src/librustc_error_codes/error_codes.rs index 428cecf13a3b0..325b79ba25f68 100644 --- a/src/librustc_error_codes/error_codes.rs +++ b/src/librustc_error_codes/error_codes.rs @@ -381,6 +381,7 @@ E0700: include_str!("./error_codes/E0700.md"), E0701: include_str!("./error_codes/E0701.md"), E0704: include_str!("./error_codes/E0704.md"), E0705: include_str!("./error_codes/E0705.md"), +E0706: include_str!("./error_codes/E0706.md"), E0712: include_str!("./error_codes/E0712.md"), E0713: include_str!("./error_codes/E0713.md"), E0714: include_str!("./error_codes/E0714.md"), @@ -595,7 +596,6 @@ E0744: include_str!("./error_codes/E0744.md"), E0696, // `continue` pointing to a labeled block // E0702, // replaced with a generic attribute input check E0703, // invalid ABI - E0706, // `async fn` in trait // E0707, // multiple elided lifetimes used in arguments of `async fn` E0708, // `async` non-`move` closures with parameters are not currently // supported diff --git a/src/librustc_error_codes/error_codes/E0706.md b/src/librustc_error_codes/error_codes/E0706.md new file mode 100644 index 0000000000000..1eb1271a9e82e --- /dev/null +++ b/src/librustc_error_codes/error_codes/E0706.md @@ -0,0 +1,78 @@ + `async fn`s are not yet supported in Rust. + +Erroneous code example: + +```compile_fail,edition2018 +trait T { + // Neither case is currently supported. + async fn foo() {} + async fn bar(&self) {} +} +``` + +`async fn`s normally return an `impl Future`, making the following two examples equivalent: + +```edition2018,ignore (example-of-desugaring-equivalence) +async fn foo() -> User { + unimplemented!() +} +// The async fn above gets desugared as follows: +fn foo(&self) -> impl Future + '_ { + unimplemented!() +} +``` + +But when it comes to supporting this in traits, there are [a few implementation +issues][async-is-hard], one of which is that returning `impl Trait` in traits is not supported, +as it would require [Generic Associated Types] to be supported: + +```edition2018,ignore (example-of-desugaring-equivalence) +impl MyDatabase { + async fn get_user(&self) -> User { + unimplemented!() + } +} + +impl MyDatabase { + fn get_user(&self) -> impl Future + '_ { + unimplemented!() + } +} +``` + +Until these issues are resolved, you can use the [`async-trait` crate], which allows you to use +this feature by sidesteping the language feature issue by desugaring to "boxed futures" +(`Pin>`): + +```edition2018,ignore (example-of-desugaring-equivalence) +#[async_trait] +impl MyDatabase { + async fn get_user(&self) -> User { + unimplemented!() + } +} + +// The annotated impl above gets desugared as follows: +impl MyDatabase { + fn get_user<'async>( + &'async self, + ) -> Pin + Send + 'async>> + where + Self: Sync + 'async, + { + unimplemented!() + } +} +``` + +Note that using these trait methods will result in a heap allocation per-function-call. This is not +a significant cost for the vast majority of applications, but should be considered when deciding +whether to use this functionality in the public API of a low-level function that is expected to be +called millions of times a second. + +You might be interested in visiting the [async book] for further information. + +[`async-trait` crate]: https://crates.io/crates/async-trait +[async-is-hard]: https://smallcultfollowing.com/babysteps/blog/2019/10/26/async-fn-in-traits-are-hard/ +[Generic Associated Types]: https://github.com/rust-lang/rust/issues/44265 +[async book]: https://rust-lang.github.io/async-book/07_workarounds/06_async_in_traits.html \ No newline at end of file diff --git a/src/test/ui/async-await/async-trait-fn.stderr b/src/test/ui/async-await/async-trait-fn.stderr index fb6e0c57d6a0d..9acfa2cc06912 100644 --- a/src/test/ui/async-await/async-trait-fn.stderr +++ b/src/test/ui/async-await/async-trait-fn.stderr @@ -18,3 +18,4 @@ LL | async fn bar(&self) {} error: aborting due to 2 previous errors +For more information about this error, try `rustc --explain E0706`. diff --git a/src/test/ui/async-await/edition-deny-async-fns-2015.stderr b/src/test/ui/async-await/edition-deny-async-fns-2015.stderr index dc1c891c591eb..bb09ee9a93296 100644 --- a/src/test/ui/async-await/edition-deny-async-fns-2015.stderr +++ b/src/test/ui/async-await/edition-deny-async-fns-2015.stderr @@ -63,4 +63,5 @@ LL | async fn foo() {} error: aborting due to 10 previous errors -For more information about this error, try `rustc --explain E0670`. +Some errors have detailed explanations: E0670, E0706. +For more information about an error, try `rustc --explain E0670`. From 303d2f2e8752cebd95dc4d8bca3ec8edd3718b07 Mon Sep 17 00:00:00 2001 From: Aliaksandr Radzivanovich Date: Tue, 19 Nov 2019 14:12:30 +0100 Subject: [PATCH 19/24] Remove duplicate function Function source_name declared in file src/librustc_driver/lib.rs is a duplicate of a function by the same name declared in file src/librustc/session/config.rs --- src/librustc_driver/lib.rs | 7 ------- src/librustc_driver/pretty.rs | 6 +----- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index ef638464adce9..6557be9f7ecd0 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -84,13 +84,6 @@ const ICE_REPORT_COMPILER_FLAGS_EXCLUDE: &[&str] = &["metadata", "extra-filename const ICE_REPORT_COMPILER_FLAGS_STRIP_VALUE: &[&str] = &["incremental"]; -pub fn source_name(input: &Input) -> FileName { - match *input { - Input::File(ref ifile) => ifile.clone().into(), - Input::Str { ref name, .. } => name.clone(), - } -} - pub fn abort_on_err(result: Result, sess: &Session) -> T { match result { Err(..) => { diff --git a/src/librustc_driver/pretty.rs b/src/librustc_driver/pretty.rs index 23253dc4dadec..e869607c970b0 100644 --- a/src/librustc_driver/pretty.rs +++ b/src/librustc_driver/pretty.rs @@ -24,10 +24,6 @@ pub use self::PpSourceMode::*; pub use self::PpMode::*; use crate::abort_on_err; -use crate::source_name; - - - // This slightly awkward construction is to allow for each PpMode to // choose whether it needs to do analyses (which can consume the // Session) and then pass through the session (now attached to the @@ -391,7 +387,7 @@ impl<'a, 'tcx> pprust_hir::PpAnn for TypedAnnotation<'a, 'tcx> { } fn get_source(input: &Input, sess: &Session) -> (String, FileName) { - let src_name = source_name(input); + let src_name = input.source_name(); let src = String::clone(&sess.source_map() .get_source_file(&src_name) .unwrap() From ca42c25598b2d4f1842dc18af6992daea0b0fca9 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Tue, 19 Nov 2019 15:29:43 +0000 Subject: [PATCH 20/24] [RISCV] Disable Atomics on all Non-A RISC-V targets --- src/librustc_target/spec/riscv32i_unknown_none_elf.rs | 2 +- src/librustc_target/spec/riscv32imc_unknown_none_elf.rs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/librustc_target/spec/riscv32i_unknown_none_elf.rs b/src/librustc_target/spec/riscv32i_unknown_none_elf.rs index 314778408f7e5..0db34196bdd61 100644 --- a/src/librustc_target/spec/riscv32i_unknown_none_elf.rs +++ b/src/librustc_target/spec/riscv32i_unknown_none_elf.rs @@ -17,7 +17,7 @@ pub fn target() -> TargetResult { options: TargetOptions { linker: Some("rust-lld".to_string()), cpu: "generic-rv32".to_string(), - max_atomic_width: None, + max_atomic_width: Some(0), atomic_cas: false, features: String::new(), executables: true, diff --git a/src/librustc_target/spec/riscv32imc_unknown_none_elf.rs b/src/librustc_target/spec/riscv32imc_unknown_none_elf.rs index 647d33e3ffeee..621af5a1eca75 100644 --- a/src/librustc_target/spec/riscv32imc_unknown_none_elf.rs +++ b/src/librustc_target/spec/riscv32imc_unknown_none_elf.rs @@ -17,8 +17,7 @@ pub fn target() -> TargetResult { options: TargetOptions { linker: Some("rust-lld".to_string()), cpu: "generic-rv32".to_string(), - // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86005 - max_atomic_width: None, //Some(32), + max_atomic_width: Some(0), atomic_cas: false, features: "+m,+c".to_string(), executables: true, From 846f5e6bb97c269da4feb171b1837c43de66a38b Mon Sep 17 00:00:00 2001 From: Dylan DPC Date: Tue, 19 Nov 2019 17:09:39 +0100 Subject: [PATCH 21/24] Update E0706.md --- src/librustc_error_codes/error_codes/E0706.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/librustc_error_codes/error_codes/E0706.md b/src/librustc_error_codes/error_codes/E0706.md index 1eb1271a9e82e..909b08fb17486 100644 --- a/src/librustc_error_codes/error_codes/E0706.md +++ b/src/librustc_error_codes/error_codes/E0706.md @@ -1,4 +1,4 @@ - `async fn`s are not yet supported in Rust. + `async fn`s are not yet supported in traits in Rust. Erroneous code example: @@ -10,7 +10,7 @@ trait T { } ``` -`async fn`s normally return an `impl Future`, making the following two examples equivalent: +`async fn`s return an `impl Future`, making the following two examples equivalent: ```edition2018,ignore (example-of-desugaring-equivalence) async fn foo() -> User { @@ -23,7 +23,7 @@ fn foo(&self) -> impl Future + '_ { ``` But when it comes to supporting this in traits, there are [a few implementation -issues][async-is-hard], one of which is that returning `impl Trait` in traits is not supported, +issues][async-is-hard]. One of them is returning `impl Trait` in traits is not supported, as it would require [Generic Associated Types] to be supported: ```edition2018,ignore (example-of-desugaring-equivalence) @@ -40,8 +40,8 @@ impl MyDatabase { } ``` -Until these issues are resolved, you can use the [`async-trait` crate], which allows you to use -this feature by sidesteping the language feature issue by desugaring to "boxed futures" +Until these issues are resolved, you can use the [`async-trait` crate], allowing you to use +`async fn` in traits by desugaring to "boxed futures" (`Pin>`): ```edition2018,ignore (example-of-desugaring-equivalence) @@ -75,4 +75,4 @@ You might be interested in visiting the [async book] for further information. [`async-trait` crate]: https://crates.io/crates/async-trait [async-is-hard]: https://smallcultfollowing.com/babysteps/blog/2019/10/26/async-fn-in-traits-are-hard/ [Generic Associated Types]: https://github.com/rust-lang/rust/issues/44265 -[async book]: https://rust-lang.github.io/async-book/07_workarounds/06_async_in_traits.html \ No newline at end of file +[async book]: https://rust-lang.github.io/async-book/07_workarounds/06_async_in_traits.html From 4c2f1c802c4d582891a8e079949889d2462bbfd2 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 19 Nov 2019 09:13:10 -0800 Subject: [PATCH 22/24] Mark -Zgenerate-arange-section as TRACKED --- src/librustc/session/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index f2e07850aa47c..b9b6a5f2342e2 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -1331,7 +1331,7 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, "for every macro invocation, print its name and arguments"), debug_macros: bool = (false, parse_bool, [TRACKED], "emit line numbers debug info inside macros"), - generate_arange_section: bool = (true, parse_bool, [UNTRACKED], + generate_arange_section: bool = (true, parse_bool, [TRACKED], "generate DWARF address ranges for faster lookups"), keep_hygiene_data: bool = (false, parse_bool, [UNTRACKED], "don't clear the hygiene data after analysis"), From a079159c64bfd7b379a9c574d21dbcedb78c5b0c Mon Sep 17 00:00:00 2001 From: Esteban Kuber Date: Tue, 19 Nov 2019 11:29:20 -0800 Subject: [PATCH 23/24] Remove desugared `async-trait` example --- src/librustc_error_codes/error_codes/E0706.md | 23 +------------------ 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/src/librustc_error_codes/error_codes/E0706.md b/src/librustc_error_codes/error_codes/E0706.md index 909b08fb17486..bee9219af7cf6 100644 --- a/src/librustc_error_codes/error_codes/E0706.md +++ b/src/librustc_error_codes/error_codes/E0706.md @@ -42,28 +42,7 @@ impl MyDatabase { Until these issues are resolved, you can use the [`async-trait` crate], allowing you to use `async fn` in traits by desugaring to "boxed futures" -(`Pin>`): - -```edition2018,ignore (example-of-desugaring-equivalence) -#[async_trait] -impl MyDatabase { - async fn get_user(&self) -> User { - unimplemented!() - } -} - -// The annotated impl above gets desugared as follows: -impl MyDatabase { - fn get_user<'async>( - &'async self, - ) -> Pin + Send + 'async>> - where - Self: Sync + 'async, - { - unimplemented!() - } -} -``` +(`Pin>`). Note that using these trait methods will result in a heap allocation per-function-call. This is not a significant cost for the vast majority of applications, but should be considered when deciding From ab6cb0197188f0c842d7dd2e378777f0bc0f6240 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Tue, 19 Nov 2019 20:43:06 +0100 Subject: [PATCH 24/24] HermitCore support is moved to sys/hermit, remove obsolete statement in sys/unix --- src/libstd/sys/unix/fast_thread_local.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstd/sys/unix/fast_thread_local.rs b/src/libstd/sys/unix/fast_thread_local.rs index d7e733b7fa032..7d718032ef6e9 100644 --- a/src/libstd/sys/unix/fast_thread_local.rs +++ b/src/libstd/sys/unix/fast_thread_local.rs @@ -10,7 +10,7 @@ // fallback implementation to use as well. // // Due to rust-lang/rust#18804, make sure this is not generic! -#[cfg(any(target_os = "linux", target_os = "fuchsia", target_os = "hermit", target_os = "redox", +#[cfg(any(target_os = "linux", target_os = "fuchsia", target_os = "redox", target_os = "emscripten"))] pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern fn(*mut u8)) { use crate::mem;