Auto merge of #50413 - kennytm:rollup, r=kennytm
Rollup of 12 pull requests Successful merges: - #50302 (Add query search order check) - #50320 (Fix invalid path generation in rustdoc search) - #50349 (Rename "show type declaration" to "show declaration") - #50360 (Clarify wordings of the `unstable_name_collision` lint.) - #50365 (Use two vectors in nearest_common_ancestor.) - #50393 (Allow unaligned reads in constants) - #50401 (Revert "Implement FromStr for PathBuf") - #50406 (Forbid constructing empty identifiers from concat_idents) - #50407 (Always inline simple BytePos and CharPos methods.) - #50416 (check if the token is a lifetime before parsing) - #50417 (Update Cargo) - #50421 (Fix ICE when using a..=b in a closure.) Failed merges:
This commit is contained in:
commit
e82261dfbb
26 changed files with 162 additions and 61 deletions
20
src/test/compile-fail/macro-non-lifetime.rs
Normal file
20
src/test/compile-fail/macro-non-lifetime.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// Test for issue #50381: non-lifetime passed to :lifetime.
|
||||
|
||||
#![feature(macro_lifetime_matcher)]
|
||||
|
||||
macro_rules! m { ($x:lifetime) => { } }
|
||||
|
||||
fn main() {
|
||||
m!(a);
|
||||
//~^ ERROR expected a lifetime, found `a`
|
||||
}
|
||||
27
src/test/run-pass/issue-50415.rs
Normal file
27
src/test/run-pass/issue-50415.rs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
fn main() {
|
||||
// -------- Simplified test case --------
|
||||
|
||||
let _ = || 0..=1;
|
||||
|
||||
// -------- Original test case --------
|
||||
|
||||
let full_length = 1024;
|
||||
let range = {
|
||||
// do some stuff, omit here
|
||||
None
|
||||
};
|
||||
|
||||
let range = range.map(|(s, t)| s..=t).unwrap_or(0..=(full_length-1));
|
||||
|
||||
assert_eq!(range, 0..=1023);
|
||||
}
|
||||
|
|
@ -8,11 +8,13 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// ignore-order
|
||||
|
||||
const QUERY = '+';
|
||||
|
||||
const EXPECTED = {
|
||||
'others': [
|
||||
{ 'path': 'std::ops::AddAssign', 'name': 'AddAssign' },
|
||||
{ 'path': 'std::ops::Add', 'name': 'Add' },
|
||||
{ 'path': 'std::ops', 'name': 'AddAssign' },
|
||||
{ 'path': 'std::ops', 'name': 'Add' },
|
||||
],
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,12 +8,14 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// ignore-order
|
||||
|
||||
const QUERY = '[';
|
||||
|
||||
const EXPECTED = {
|
||||
'others': [
|
||||
{ 'path': 'std', 'name': 'slice' },
|
||||
{ 'path': 'std::ops::IndexMut', 'name': 'IndexMut' },
|
||||
{ 'path': 'std::ops::Index', 'name': 'Index' },
|
||||
{ 'path': 'std::ops', 'name': 'IndexMut' },
|
||||
{ 'path': 'std::ops', 'name': 'Index' },
|
||||
],
|
||||
};
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ const QUERY = 'String';
|
|||
const EXPECTED = {
|
||||
'others': [
|
||||
{ 'path': 'std::string', 'name': 'String' },
|
||||
{ 'path': 'std::ffi', 'name': 'OsString' },
|
||||
{ 'path': 'std::ffi', 'name': 'CString' },
|
||||
{ 'path': 'std::ffi', 'name': 'OsString' },
|
||||
],
|
||||
'in_args': [
|
||||
{ 'path': 'std::str', 'name': 'eq' },
|
||||
|
|
|
|||
28
src/test/ui/const-eval/ice-packed.rs
Normal file
28
src/test/ui/const-eval/ice-packed.rs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// compile-pass
|
||||
#[derive(Copy, Clone, PartialEq, Eq)]
|
||||
#[repr(packed)]
|
||||
pub struct Num(u64);
|
||||
|
||||
impl Num {
|
||||
pub const ZERO: Self = Num(0);
|
||||
}
|
||||
|
||||
pub fn decrement(a: Num) -> Num {
|
||||
match a {
|
||||
Num::ZERO => Num::ZERO,
|
||||
a => Num(a.0 - 1)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
}
|
||||
|
|
@ -25,5 +25,5 @@ use inference_unstable_itertools::IpuItertools;
|
|||
fn main() {
|
||||
assert_eq!('x'.ipu_flatten(), 1);
|
||||
//~^ WARN a method with this name may be added to the standard library in the future
|
||||
//~^^ WARN once this method is added to the standard library, there will be ambiguity here
|
||||
//~^^ WARN once this method is added to the standard library, the ambiguity may cause an error
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ LL | assert_eq!('x'.ipu_flatten(), 1);
|
|||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: #[warn(unstable_name_collision)] on by default
|
||||
= warning: once this method is added to the standard library, there will be ambiguity here, which will cause a hard error!
|
||||
= warning: once this method is added to the standard library, the ambiguity may cause an error or change in behavior!
|
||||
= note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
|
||||
= help: call with fully qualified syntax `inference_unstable_itertools::IpuItertools::ipu_flatten(...)` to keep using the current method
|
||||
= note: add #![feature(ipu_flatten)] to the crate attributes to enable `inference_unstable_iterator::IpuIterator::ipu_flatten`
|
||||
|
|
|
|||
15
src/test/ui/issue-50403.rs
Normal file
15
src/test/ui/issue-50403.rs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(concat_idents)]
|
||||
|
||||
fn main() {
|
||||
let x = concat_idents!(); //~ ERROR concat_idents! takes 1 or more arguments
|
||||
}
|
||||
8
src/test/ui/issue-50403.stderr
Normal file
8
src/test/ui/issue-50403.stderr
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
error: concat_idents! takes 1 or more arguments.
|
||||
--> $DIR/issue-50403.rs:14:13
|
||||
|
|
||||
LL | let x = concat_idents!(); //~ ERROR concat_idents! takes 1 or more arguments
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue