diff options
| author | bors <bors@rust-lang.org> | 2016-06-08 19:30:33 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-06-08 19:30:33 -0700 |
| commit | bb4b3fb7f97924919f072ec9a360bdf943218dbf (patch) | |
| tree | 3765d3082b94546c8ea1b23ae75e12aa7b43924b /src/libstd/lib.rs | |
| parent | 34505e22289d3b2416ab0922131e8526d0d5cc0b (diff) | |
| parent | 2de6ea7a35fb53ce5e4a7e5541a2adf425b7da23 (diff) | |
| download | rust-bb4b3fb7f97924919f072ec9a360bdf943218dbf.tar.gz rust-bb4b3fb7f97924919f072ec9a360bdf943218dbf.zip | |
Auto merge of #32202 - arielb1:slice-patterns, r=nikomatsakis
Implement RFC495 semantics for slice patterns non-MIR translation is still not supported for these and will happily ICE. This is a [breaking-change] for many uses of slice_patterns. [RFC 495 text](https://github.com/rust-lang/rfcs/blob/master/text/0495-array-pattern-changes.md)
Diffstat (limited to 'src/libstd/lib.rs')
| -rw-r--r-- | src/libstd/lib.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 7114d47e6e8..135ea8a5e7c 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -467,3 +467,15 @@ pub mod __rand { // the rustdoc documentation for primitive types. Using `include!` // because rustdoc only looks for these modules at the crate level. include!("primitive_docs.rs"); + +// FIXME(stage0): remove this after a snapshot +// HACK: this is needed because the interpretation of slice +// patterns changed between stage0 and now. +#[cfg(stage0)] +fn slice_pat<'a, 'b, T>(t: &'a &'b [T]) -> &'a &'b [T] { + t +} +#[cfg(not(stage0))] +fn slice_pat<'a, 'b, T>(t: &'a &'b [T]) -> &'b [T] { + *t +} |
