Auto merge of #70642 - eddyb:remap-sysroot-src, r=Mark-Simulacrum
Translate the virtual `/rustc/$hash` prefix back to a real directory. Closes #53486 and fixes #53081, by undoing the remapping to `/rustc/$hash` on the fly, when appropriate (e.g. our testsuites, or user crates that depend on `libstd`), but not during the Rust build itself (as that could leak the absolute build directory into the artifacts, breaking deterministic builds). Tested locally by setting `remap-debuginfo = true` in `config.toml`, which without these changes, was causing 56 tests to fail (see https://github.com/rust-lang/rust/issues/53081#issuecomment-606703215 for more details). cc @Mark-Simulacrum @alexcrichton @ehuss
This commit is contained in:
commit
c53e4b3877
@ -1022,8 +1022,13 @@ pub fn cargo(
|
||||
cargo.env("RUSTC_HOST_CRT_STATIC", x.to_string());
|
||||
}
|
||||
|
||||
if let Some(map) = self.build.debuginfo_map(GitRepo::Rustc) {
|
||||
if let Some(map_to) = self.build.debuginfo_map_to(GitRepo::Rustc) {
|
||||
let map = format!("{}={}", self.build.src.display(), map_to);
|
||||
cargo.env("RUSTC_DEBUGINFO_MAP", map);
|
||||
|
||||
// `rustc` needs to know the virtual `/rustc/$hash` we're mapping to,
|
||||
// in order to opportunistically reverse it later.
|
||||
cargo.env("CFG_VIRTUAL_RUST_SOURCE_BASE_DIR", map_to);
|
||||
}
|
||||
|
||||
// Enable usage of unstable features
|
||||
|
@ -22,7 +22,7 @@
|
||||
use crate::builder::Cargo;
|
||||
use crate::dist;
|
||||
use crate::native;
|
||||
use crate::util::{exe, is_dylib};
|
||||
use crate::util::{exe, is_dylib, symlink_dir};
|
||||
use crate::{Compiler, GitRepo, Mode};
|
||||
|
||||
use crate::builder::{Builder, Kind, RunConfig, ShouldRun, Step};
|
||||
@ -633,6 +633,30 @@ fn run(self, builder: &Builder<'_>) -> Interned<PathBuf> {
|
||||
};
|
||||
let _ = fs::remove_dir_all(&sysroot);
|
||||
t!(fs::create_dir_all(&sysroot));
|
||||
|
||||
// Symlink the source root into the same location inside the sysroot,
|
||||
// where `rust-src` component would go (`$sysroot/lib/rustlib/src/rust`),
|
||||
// so that any tools relying on `rust-src` also work for local builds,
|
||||
// and also for translating the virtual `/rustc/$hash` back to the real
|
||||
// directory (for running tests with `rust.remap-debuginfo = true`).
|
||||
let sysroot_lib_rustlib_src = sysroot.join("lib/rustlib/src");
|
||||
t!(fs::create_dir_all(&sysroot_lib_rustlib_src));
|
||||
let sysroot_lib_rustlib_src_rust = sysroot_lib_rustlib_src.join("rust");
|
||||
if let Err(e) = symlink_dir(&builder.config, &builder.src, &sysroot_lib_rustlib_src_rust) {
|
||||
eprintln!(
|
||||
"warning: creating symbolic link `{}` to `{}` failed with {}",
|
||||
sysroot_lib_rustlib_src_rust.display(),
|
||||
builder.src.display(),
|
||||
e,
|
||||
);
|
||||
if builder.config.rust_remap_debuginfo {
|
||||
eprintln!(
|
||||
"warning: some `src/test/ui` tests will fail when lacking `{}`",
|
||||
sysroot_lib_rustlib_src_rust.display(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
INTERNER.intern_path(sysroot)
|
||||
}
|
||||
}
|
||||
|
@ -740,19 +740,18 @@ fn jobs(&self) -> u32 {
|
||||
self.config.jobs.unwrap_or_else(|| num_cpus::get() as u32)
|
||||
}
|
||||
|
||||
fn debuginfo_map(&self, which: GitRepo) -> Option<String> {
|
||||
fn debuginfo_map_to(&self, which: GitRepo) -> Option<String> {
|
||||
if !self.config.rust_remap_debuginfo {
|
||||
return None;
|
||||
}
|
||||
|
||||
let path = match which {
|
||||
match which {
|
||||
GitRepo::Rustc => {
|
||||
let sha = self.rust_sha().unwrap_or(channel::CFG_RELEASE_NUM);
|
||||
format!("/rustc/{}", sha)
|
||||
Some(format!("/rustc/{}", sha))
|
||||
}
|
||||
GitRepo::Llvm => String::from("/rustc/llvm"),
|
||||
};
|
||||
Some(format!("{}={}", self.src.display(), path))
|
||||
GitRepo::Llvm => Some(String::from("/rustc/llvm")),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the path to the C compiler for the target specified.
|
||||
@ -787,7 +786,8 @@ fn cflags(&self, target: Interned<String>, which: GitRepo) -> Vec<String> {
|
||||
base.push("-fno-omit-frame-pointer".into());
|
||||
}
|
||||
|
||||
if let Some(map) = self.debuginfo_map(which) {
|
||||
if let Some(map_to) = self.debuginfo_map_to(which) {
|
||||
let map = format!("{}={}", self.src.display(), map_to);
|
||||
let cc = self.cc(target);
|
||||
if cc.ends_with("clang") || cc.ends_with("gcc") {
|
||||
base.push(format!("-fdebug-prefix-map={}", map));
|
||||
|
@ -15,9 +15,6 @@ TEST_DIR = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '../test/ui/derives/'))
|
||||
|
||||
TEMPLATE = """\
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
{error_deriving}
|
||||
|
@ -1,4 +1,5 @@
|
||||
fn main() {
|
||||
println!("cargo:rerun-if-changed=build.rs");
|
||||
println!("cargo:rerun-if-env-changed=CFG_VERSION");
|
||||
println!("cargo:rerun-if-env-changed=CFG_VIRTUAL_RUST_SOURCE_BASE_DIR");
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
use rustc_middle::util::common::record_time;
|
||||
use rustc_serialize::{opaque, Decodable, Decoder, SpecializedDecoder};
|
||||
use rustc_session::Session;
|
||||
use rustc_span::source_map::{self, respan, Spanned};
|
||||
use rustc_span::source_map::{respan, Spanned};
|
||||
use rustc_span::symbol::{sym, Symbol};
|
||||
use rustc_span::{self, hygiene::MacroKind, BytePos, Pos, Span, DUMMY_SP};
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
use std::io;
|
||||
use std::mem;
|
||||
use std::num::NonZeroUsize;
|
||||
use std::path::Path;
|
||||
use std::u32;
|
||||
|
||||
pub use cstore_impl::{provide, provide_extern};
|
||||
@ -427,7 +428,7 @@ fn specialized_decode(&mut self) -> Result<Span, Self::Error> {
|
||||
// we can call `imported_source_files` for the proper crate, and binary search
|
||||
// through the returned slice using our span.
|
||||
let imported_source_files = if tag == TAG_VALID_SPAN_LOCAL {
|
||||
self.cdata().imported_source_files(sess.source_map())
|
||||
self.cdata().imported_source_files(sess)
|
||||
} else {
|
||||
// FIXME: We don't decode dependencies of proc-macros.
|
||||
// Remove this once #69976 is merged
|
||||
@ -457,7 +458,7 @@ fn specialized_decode(&mut self) -> Result<Span, Self::Error> {
|
||||
self.last_source_file_index = 0;
|
||||
|
||||
let foreign_data = self.cdata().cstore.get_crate_data(cnum);
|
||||
foreign_data.imported_source_files(sess.source_map())
|
||||
foreign_data.imported_source_files(sess)
|
||||
};
|
||||
|
||||
let source_file = {
|
||||
@ -1460,10 +1461,45 @@ fn def_path(&self, id: DefIndex) -> DefPath {
|
||||
///
|
||||
/// Proc macro crates don't currently export spans, so this function does not have
|
||||
/// to work for them.
|
||||
fn imported_source_files(
|
||||
&self,
|
||||
local_source_map: &source_map::SourceMap,
|
||||
) -> &'a [ImportedSourceFile] {
|
||||
fn imported_source_files(&self, sess: &Session) -> &'a [ImportedSourceFile] {
|
||||
// Translate the virtual `/rustc/$hash` prefix back to a real directory
|
||||
// that should hold actual sources, where possible.
|
||||
let virtual_rust_source_base_dir = option_env!("CFG_VIRTUAL_RUST_SOURCE_BASE_DIR")
|
||||
.map(Path::new)
|
||||
.filter(|_| {
|
||||
// Only spend time on further checks if we have what to translate *to*.
|
||||
sess.real_rust_source_base_dir.is_some()
|
||||
})
|
||||
.filter(|virtual_dir| {
|
||||
// Don't translate away `/rustc/$hash` if we're still remapping to it,
|
||||
// since that means we're still building `std`/`rustc` that need it,
|
||||
// and we don't want the real path to leak into codegen/debuginfo.
|
||||
!sess.opts.remap_path_prefix.iter().any(|(_from, to)| to == virtual_dir)
|
||||
});
|
||||
let try_to_translate_virtual_to_real = |name: &mut rustc_span::FileName| {
|
||||
debug!(
|
||||
"try_to_translate_virtual_to_real(name={:?}): \
|
||||
virtual_rust_source_base_dir={:?}, real_rust_source_base_dir={:?}",
|
||||
name, virtual_rust_source_base_dir, sess.real_rust_source_base_dir,
|
||||
);
|
||||
|
||||
if let Some(virtual_dir) = virtual_rust_source_base_dir {
|
||||
if let Some(real_dir) = &sess.real_rust_source_base_dir {
|
||||
if let rustc_span::FileName::Real(path) = name {
|
||||
if let Ok(rest) = path.strip_prefix(virtual_dir) {
|
||||
let new_path = real_dir.join(rest);
|
||||
debug!(
|
||||
"try_to_translate_virtual_to_real: `{}` -> `{}`",
|
||||
path.display(),
|
||||
new_path.display(),
|
||||
);
|
||||
*path = new_path;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
self.cdata.source_map_import_info.init_locking(|| {
|
||||
let external_source_map = self.root.source_map.decode(self);
|
||||
|
||||
@ -1472,7 +1508,7 @@ fn imported_source_files(
|
||||
// We can't reuse an existing SourceFile, so allocate a new one
|
||||
// containing the information we need.
|
||||
let rustc_span::SourceFile {
|
||||
name,
|
||||
mut name,
|
||||
name_was_remapped,
|
||||
src_hash,
|
||||
start_pos,
|
||||
@ -1485,6 +1521,13 @@ fn imported_source_files(
|
||||
..
|
||||
} = source_file_to_import;
|
||||
|
||||
// If this file's path has been remapped to `/rustc/$hash`,
|
||||
// we might be able to reverse that (also see comments above,
|
||||
// on `try_to_translate_virtual_to_real`).
|
||||
// FIXME(eddyb) we could check `name_was_remapped` here,
|
||||
// but in practice it seems to be always `false`.
|
||||
try_to_translate_virtual_to_real(&mut name);
|
||||
|
||||
let source_length = (end_pos - start_pos).to_usize();
|
||||
|
||||
// Translate line-start positions and multibyte character
|
||||
@ -1505,7 +1548,7 @@ fn imported_source_files(
|
||||
np.pos = np.pos - start_pos;
|
||||
}
|
||||
|
||||
let local_version = local_source_map.new_imported_source_file(
|
||||
let local_version = sess.source_map().new_imported_source_file(
|
||||
name,
|
||||
name_was_remapped,
|
||||
src_hash,
|
||||
|
@ -140,6 +140,15 @@ pub struct Session {
|
||||
/// Options range from returning the error without a backtrace to returning an error
|
||||
/// and immediately printing the backtrace to stderr.
|
||||
pub ctfe_backtrace: Lock<CtfeBacktrace>,
|
||||
|
||||
/// Base directory containing the `src/` for the Rust standard library, and
|
||||
/// potentially `rustc` as well, if we can can find it. Right now it's always
|
||||
/// `$sysroot/lib/rustlib/src/rust` (i.e. the `rustup` `rust-src` component).
|
||||
///
|
||||
/// This directory is what the virtual `/rustc/$hash` is translated back to,
|
||||
/// if Rust was built with path remapping to `/rustc/$hash` enabled
|
||||
/// (the `rust.remap-debuginfo` option in `config.toml`).
|
||||
pub real_rust_source_base_dir: Option<PathBuf>,
|
||||
}
|
||||
|
||||
pub struct PerfStats {
|
||||
@ -1056,6 +1065,26 @@ fn build_session_(
|
||||
_ => CtfeBacktrace::Disabled,
|
||||
});
|
||||
|
||||
// Try to find a directory containing the Rust `src`, for more details see
|
||||
// the doc comment on the `real_rust_source_base_dir` field.
|
||||
let real_rust_source_base_dir = {
|
||||
// This is the location used by the `rust-src` `rustup` component.
|
||||
let mut candidate = sysroot.join("lib/rustlib/src/rust");
|
||||
if let Ok(metadata) = candidate.symlink_metadata() {
|
||||
// Replace the symlink rustbuild creates, with its destination.
|
||||
// We could try to use `fs::canonicalize` instead, but that might
|
||||
// produce unnecessarily verbose path.
|
||||
if metadata.file_type().is_symlink() {
|
||||
if let Ok(symlink_dest) = std::fs::read_link(&candidate) {
|
||||
candidate = symlink_dest;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only use this directory if it has a file we can expect to always find.
|
||||
if candidate.join("src/libstd/lib.rs").is_file() { Some(candidate) } else { None }
|
||||
};
|
||||
|
||||
let sess = Session {
|
||||
target: target_cfg,
|
||||
host,
|
||||
@ -1094,6 +1123,7 @@ fn build_session_(
|
||||
confused_type_with_std_module: Lock::new(Default::default()),
|
||||
system_library_path: OneThread::new(RefCell::new(Default::default())),
|
||||
ctfe_backtrace,
|
||||
real_rust_source_base_dir,
|
||||
};
|
||||
|
||||
validate_commandline_args_with_session_available(&sess);
|
||||
|
@ -1,8 +1,4 @@
|
||||
// edition:2018
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
async fn print_dur() {}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0728]: `await` is only allowed inside `async` functions and blocks
|
||||
--> $DIR/issue-62009-1.rs:10:5
|
||||
--> $DIR/issue-62009-1.rs:6:5
|
||||
|
|
||||
LL | fn main() {
|
||||
| ---- this is not `async`
|
||||
@ -7,7 +7,7 @@ LL | async { let (); }.await;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks
|
||||
|
||||
error[E0728]: `await` is only allowed inside `async` functions and blocks
|
||||
--> $DIR/issue-62009-1.rs:12:5
|
||||
--> $DIR/issue-62009-1.rs:8:5
|
||||
|
|
||||
LL | fn main() {
|
||||
| ---- this is not `async`
|
||||
@ -19,7 +19,7 @@ LL | | }.await;
|
||||
| |___________^ only allowed inside `async` functions and blocks
|
||||
|
||||
error[E0728]: `await` is only allowed inside `async` functions and blocks
|
||||
--> $DIR/issue-62009-1.rs:16:5
|
||||
--> $DIR/issue-62009-1.rs:12:5
|
||||
|
|
||||
LL | fn main() {
|
||||
| ---- this is not `async`
|
||||
@ -27,11 +27,11 @@ LL | fn main() {
|
||||
LL | (|_| 2333).await;
|
||||
| ^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks
|
||||
|
||||
error[E0277]: the trait bound `[closure@$DIR/issue-62009-1.rs:16:5: 16:15]: std::future::Future` is not satisfied
|
||||
--> $DIR/issue-62009-1.rs:16:5
|
||||
error[E0277]: the trait bound `[closure@$DIR/issue-62009-1.rs:12:5: 12:15]: std::future::Future` is not satisfied
|
||||
--> $DIR/issue-62009-1.rs:12:5
|
||||
|
|
||||
LL | (|_| 2333).await;
|
||||
| ^^^^^^^^^^^^^^^^ the trait `std::future::Future` is not implemented for `[closure@$DIR/issue-62009-1.rs:16:5: 16:15]`
|
||||
| ^^^^^^^^^^^^^^^^ the trait `std::future::Future` is not implemented for `[closure@$DIR/issue-62009-1.rs:12:5: 12:15]`
|
||||
|
|
||||
::: $SRC_DIR/libcore/future/mod.rs:LL:COL
|
||||
|
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
use std::thread;
|
||||
use std::sync::mpsc::channel;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: `std::sync::mpsc::Receiver<()>` cannot be shared between threads safely
|
||||
--> $DIR/closure-move-sync.rs:10:13
|
||||
--> $DIR/closure-move-sync.rs:6:13
|
||||
|
|
||||
LL | let t = thread::spawn(|| {
|
||||
| ^^^^^^^^^^^^^ `std::sync::mpsc::Receiver<()>` cannot be shared between threads safely
|
||||
@ -11,10 +11,10 @@ LL | F: Send + 'static,
|
||||
|
|
||||
= help: the trait `std::marker::Sync` is not implemented for `std::sync::mpsc::Receiver<()>`
|
||||
= note: required because of the requirements on the impl of `std::marker::Send` for `&std::sync::mpsc::Receiver<()>`
|
||||
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:10:27: 13:6 recv:&std::sync::mpsc::Receiver<()>]`
|
||||
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:6:27: 9:6 recv:&std::sync::mpsc::Receiver<()>]`
|
||||
|
||||
error[E0277]: `std::sync::mpsc::Sender<()>` cannot be shared between threads safely
|
||||
--> $DIR/closure-move-sync.rs:22:5
|
||||
--> $DIR/closure-move-sync.rs:18:5
|
||||
|
|
||||
LL | thread::spawn(|| tx.send(()).unwrap());
|
||||
| ^^^^^^^^^^^^^ `std::sync::mpsc::Sender<()>` cannot be shared between threads safely
|
||||
@ -26,7 +26,7 @@ LL | F: Send + 'static,
|
||||
|
|
||||
= help: the trait `std::marker::Sync` is not implemented for `std::sync::mpsc::Sender<()>`
|
||||
= note: required because of the requirements on the impl of `std::marker::Send` for `&std::sync::mpsc::Sender<()>`
|
||||
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:22:19: 22:42 tx:&std::sync::mpsc::Sender<()>]`
|
||||
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:18:19: 18:42 tx:&std::sync::mpsc::Sender<()>]`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// error-pattern: cycle detected
|
||||
|
||||
struct Foo {
|
||||
|
@ -1,16 +1,16 @@
|
||||
error[E0391]: cycle detected when const-evaluating + checking `Foo::bytes::{{constant}}#0`
|
||||
--> $DIR/const-size_of-cycle.rs:8:17
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires const-evaluating + checking `Foo::bytes::{{constant}}#0`...
|
||||
--> $DIR/const-size_of-cycle.rs:8:17
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which requires const-evaluating `Foo::bytes::{{constant}}#0`...
|
||||
--> $DIR/const-size_of-cycle.rs:8:17
|
||||
--> $DIR/const-size_of-cycle.rs:4:17
|
||||
|
|
||||
LL | bytes: [u8; std::mem::size_of::<Foo>()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -28,7 +28,7 @@ LL | pub fn size_of<T>() -> usize;
|
||||
= note: ...which requires normalizing `[u8; _]`...
|
||||
= note: ...which again requires const-evaluating + checking `Foo::bytes::{{constant}}#0`, completing the cycle
|
||||
note: cycle used when processing `Foo`
|
||||
--> $DIR/const-size_of-cycle.rs:7:1
|
||||
--> $DIR/const-size_of-cycle.rs:3:1
|
||||
|
|
||||
LL | struct Foo {
|
||||
| ^^^^^^^^^^
|
||||
|
@ -1,8 +1,4 @@
|
||||
// compile-flags: -Zunleash-the-miri-inside-of-you
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// error-pattern: calling non-const function `<std::vec::Vec<i32> as std::ops::Drop>::drop`
|
||||
#![deny(const_err)]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
warning: skipping const checks
|
||||
--> $DIR/drop.rs:21:9
|
||||
--> $DIR/drop.rs:17:9
|
||||
|
|
||||
LL | let _v: Vec<i32> = Vec::new();
|
||||
| ^^
|
||||
@ -17,10 +17,10 @@ LL | | }
|
||||
| |_calling non-const function `<std::vec::Vec<i32> as std::ops::Drop>::drop`
|
||||
| inside `std::intrinsics::drop_in_place::<std::vec::Vec<i32>> - shim(Some(std::vec::Vec<i32>))` at $SRC_DIR/libcore/ptr/mod.rs:LL:COL
|
||||
|
|
||||
::: $DIR/drop.rs:23:1
|
||||
::: $DIR/drop.rs:19:1
|
||||
|
|
||||
LL | };
|
||||
| - inside `TEST_BAD` at $DIR/drop.rs:23:1
|
||||
| - inside `TEST_BAD` at $DIR/drop.rs:19:1
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
#![feature(const_raw_ptr_deref)]
|
||||
#![feature(const_ptr_offset_from)]
|
||||
#![feature(ptr_offset_from)]
|
||||
|
@ -6,9 +6,9 @@ LL | intrinsics::ptr_offset_from(self, origin)
|
||||
| |
|
||||
| ptr_offset_from cannot compute offset of pointers into different allocations.
|
||||
| inside `std::ptr::const_ptr::<impl *const Struct>::offset_from` at $SRC_DIR/libcore/ptr/const_ptr.rs:LL:COL
|
||||
| inside `DIFFERENT_ALLOC` at $DIR/offset_from_ub.rs:22:27
|
||||
| inside `DIFFERENT_ALLOC` at $DIR/offset_from_ub.rs:17:27
|
||||
|
|
||||
::: $DIR/offset_from_ub.rs:16:1
|
||||
::: $DIR/offset_from_ub.rs:11:1
|
||||
|
|
||||
LL | / pub const DIFFERENT_ALLOC: usize = {
|
||||
LL | |
|
||||
@ -29,9 +29,9 @@ LL | intrinsics::ptr_offset_from(self, origin)
|
||||
| |
|
||||
| unable to turn bytes into a pointer
|
||||
| inside `std::ptr::const_ptr::<impl *const u8>::offset_from` at $SRC_DIR/libcore/ptr/const_ptr.rs:LL:COL
|
||||
| inside `NOT_PTR` at $DIR/offset_from_ub.rs:28:14
|
||||
| inside `NOT_PTR` at $DIR/offset_from_ub.rs:23:14
|
||||
|
|
||||
::: $DIR/offset_from_ub.rs:26:1
|
||||
::: $DIR/offset_from_ub.rs:21:1
|
||||
|
|
||||
LL | / pub const NOT_PTR: usize = {
|
||||
LL | |
|
||||
@ -47,9 +47,9 @@ LL | intrinsics::ptr_offset_from(self, origin)
|
||||
| |
|
||||
| exact_div: 1isize cannot be divided by 2isize without remainder
|
||||
| inside `std::ptr::const_ptr::<impl *const u16>::offset_from` at $SRC_DIR/libcore/ptr/const_ptr.rs:LL:COL
|
||||
| inside `NOT_MULTIPLE_OF_SIZE` at $DIR/offset_from_ub.rs:36:14
|
||||
| inside `NOT_MULTIPLE_OF_SIZE` at $DIR/offset_from_ub.rs:31:14
|
||||
|
|
||||
::: $DIR/offset_from_ub.rs:31:1
|
||||
::: $DIR/offset_from_ub.rs:26:1
|
||||
|
|
||||
LL | / pub const NOT_MULTIPLE_OF_SIZE: isize = {
|
||||
LL | |
|
||||
@ -68,9 +68,9 @@ LL | intrinsics::ptr_offset_from(self, origin)
|
||||
| |
|
||||
| invalid use of NULL pointer
|
||||
| inside `std::ptr::const_ptr::<impl *const u8>::offset_from` at $SRC_DIR/libcore/ptr/const_ptr.rs:LL:COL
|
||||
| inside `OFFSET_FROM_NULL` at $DIR/offset_from_ub.rs:42:14
|
||||
| inside `OFFSET_FROM_NULL` at $DIR/offset_from_ub.rs:37:14
|
||||
|
|
||||
::: $DIR/offset_from_ub.rs:39:1
|
||||
::: $DIR/offset_from_ub.rs:34:1
|
||||
|
|
||||
LL | / pub const OFFSET_FROM_NULL: isize = {
|
||||
LL | |
|
||||
@ -87,9 +87,9 @@ LL | intrinsics::ptr_offset_from(self, origin)
|
||||
| |
|
||||
| unable to turn bytes into a pointer
|
||||
| inside `std::ptr::const_ptr::<impl *const u8>::offset_from` at $SRC_DIR/libcore/ptr/const_ptr.rs:LL:COL
|
||||
| inside `DIFFERENT_INT` at $DIR/offset_from_ub.rs:49:14
|
||||
| inside `DIFFERENT_INT` at $DIR/offset_from_ub.rs:44:14
|
||||
|
|
||||
::: $DIR/offset_from_ub.rs:45:1
|
||||
::: $DIR/offset_from_ub.rs:40:1
|
||||
|
|
||||
LL | / pub const DIFFERENT_INT: isize = { // offset_from with two different integers: like DIFFERENT_ALLOC
|
||||
LL | |
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Foo {
|
||||
i: isize,
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0599]: no method named `clone` found for struct `Foo` in the current scope
|
||||
--> $DIR/copy-a-resource.rs:23:16
|
||||
--> $DIR/copy-a-resource.rs:18:16
|
||||
|
|
||||
LL | struct Foo {
|
||||
| ---------- method `clone` not found for this
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
trait Foo {
|
||||
type X;
|
||||
fn method(&self) {}
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0599]: no method named `clone` found for struct `Bar<NotClone>` in the current scope
|
||||
--> $DIR/derive-assoc-type-not-impl.rs:23:30
|
||||
--> $DIR/derive-assoc-type-not-impl.rs:18:30
|
||||
|
|
||||
LL | struct Bar<T: Foo> {
|
||||
| ------------------
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::clone::Clone` is not satisfied
|
||||
--> $DIR/derives-span-Clone-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-Clone-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::clone::Clone` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::clone::Clone` is not satisfied
|
||||
--> $DIR/derives-span-Clone-enum.rs:13:6
|
||||
--> $DIR/derives-span-Clone-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::clone::Clone` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::clone::Clone` is not satisfied
|
||||
--> $DIR/derives-span-Clone-struct.rs:12:5
|
||||
--> $DIR/derives-span-Clone-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::clone::Clone` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::clone::Clone` is not satisfied
|
||||
--> $DIR/derives-span-Clone-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-Clone-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::clone::Clone` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: `Error` doesn't implement `std::fmt::Debug`
|
||||
--> $DIR/derives-span-Debug-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-Debug-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ `Error` cannot be formatted using `{:?}`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: `Error` doesn't implement `std::fmt::Debug`
|
||||
--> $DIR/derives-span-Debug-enum.rs:13:6
|
||||
--> $DIR/derives-span-Debug-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ `Error` cannot be formatted using `{:?}`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: `Error` doesn't implement `std::fmt::Debug`
|
||||
--> $DIR/derives-span-Debug-struct.rs:12:5
|
||||
--> $DIR/derives-span-Debug-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ `Error` cannot be formatted using `{:?}`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: `Error` doesn't implement `std::fmt::Debug`
|
||||
--> $DIR/derives-span-Debug-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-Debug-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ `Error` cannot be formatted using `{:?}`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::default::Default` is not satisfied
|
||||
--> $DIR/derives-span-Default-struct.rs:12:5
|
||||
--> $DIR/derives-span-Default-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::default::Default` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::default::Default` is not satisfied
|
||||
--> $DIR/derives-span-Default-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-Default-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::default::Default` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Eq` is not satisfied
|
||||
--> $DIR/derives-span-Eq-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-Eq-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::cmp::Eq` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Eq` is not satisfied
|
||||
--> $DIR/derives-span-Eq-enum.rs:13:6
|
||||
--> $DIR/derives-span-Eq-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::cmp::Eq` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Eq` is not satisfied
|
||||
--> $DIR/derives-span-Eq-struct.rs:12:5
|
||||
--> $DIR/derives-span-Eq-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::cmp::Eq` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Eq` is not satisfied
|
||||
--> $DIR/derives-span-Eq-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-Eq-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::cmp::Eq` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
|
||||
--> $DIR/derives-span-Hash-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-Hash-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
struct Error;
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
|
||||
--> $DIR/derives-span-Hash-enum.rs:12:6
|
||||
--> $DIR/derives-span-Hash-enum.rs:8:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
|
||||
--> $DIR/derives-span-Hash-struct.rs:12:5
|
||||
--> $DIR/derives-span-Hash-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
|
||||
--> $DIR/derives-span-Hash-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-Hash-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(Eq,PartialOrd,PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Ord` is not satisfied
|
||||
--> $DIR/derives-span-Ord-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-Ord-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::cmp::Ord` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(Eq,PartialOrd,PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Ord` is not satisfied
|
||||
--> $DIR/derives-span-Ord-enum.rs:13:6
|
||||
--> $DIR/derives-span-Ord-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::cmp::Ord` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(Eq,PartialOrd,PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Ord` is not satisfied
|
||||
--> $DIR/derives-span-Ord-struct.rs:12:5
|
||||
--> $DIR/derives-span-Ord-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ the trait `std::cmp::Ord` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(Eq,PartialOrd,PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `Error: std::cmp::Ord` is not satisfied
|
||||
--> $DIR/derives-span-Ord-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-Ord-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ the trait `std::cmp::Ord` is not implemented for `Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0369]: binary operation `==` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialEq-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^
|
||||
@ -8,7 +8,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0369]: binary operation `!=` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialEq-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0369]: binary operation `==` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialEq-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^
|
||||
@ -8,7 +8,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0369]: binary operation `!=` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialEq-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0369]: binary operation `==` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialEq-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^
|
||||
@ -8,7 +8,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0369]: binary operation `!=` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialEq-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0369]: binary operation `==` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialEq-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^
|
||||
@ -8,7 +8,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0369]: binary operation `!=` cannot be applied to type `Error`
|
||||
--> $DIR/derives-span-PartialEq-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialEq-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -9,7 +9,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -19,7 +19,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -29,7 +29,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -39,7 +39,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum-struct-variant.rs:9:6
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -9,7 +9,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -19,7 +19,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -29,7 +29,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -39,7 +39,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:13:6
|
||||
--> $DIR/derives-span-PartialOrd-enum.rs:9:6
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -9,7 +9,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -19,7 +19,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -29,7 +29,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -39,7 +39,7 @@ LL | x: Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-struct.rs:8:5
|
||||
|
|
||||
LL | x: Error
|
||||
| ^^^^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
|
||||
|
||||
#[derive(PartialEq)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -9,7 +9,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -19,7 +19,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -29,7 +29,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
@ -39,7 +39,7 @@ LL | Error
|
||||
= note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: can't compare `Error` with `Error`
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:12:5
|
||||
--> $DIR/derives-span-PartialOrd-tuple-struct.rs:8:5
|
||||
|
|
||||
LL | Error
|
||||
| ^^^^^ no implementation for `Error < Error` and `Error > Error`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
#[derive(Eqr)]
|
||||
//~^ ERROR cannot find derive macro `Eqr` in this scope
|
||||
//~| ERROR cannot find derive macro `Eqr` in this scope
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: cannot find derive macro `Eqr` in this scope
|
||||
--> $DIR/deriving-meta-unknown-trait.rs:5:10
|
||||
--> $DIR/deriving-meta-unknown-trait.rs:1:10
|
||||
|
|
||||
LL | #[derive(Eqr)]
|
||||
| ^^^ help: a derive macro with a similar name exists: `Eq`
|
||||
@ -10,7 +10,7 @@ LL | pub macro Eq($item:item) {
|
||||
| ------------------------ similarly named derive macro `Eq` defined here
|
||||
|
||||
error: cannot find derive macro `Eqr` in this scope
|
||||
--> $DIR/deriving-meta-unknown-trait.rs:5:10
|
||||
--> $DIR/deriving-meta-unknown-trait.rs:1:10
|
||||
|
|
||||
LL | #[derive(Eqr)]
|
||||
| ^^^ help: a derive macro with a similar name exists: `Eq`
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
fn main() {
|
||||
let x = Some(1);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0004]: non-exhaustive patterns: `None` and `Some(_)` not covered
|
||||
--> $DIR/E0004-2.rs:9:11
|
||||
--> $DIR/E0004-2.rs:4:11
|
||||
|
|
||||
LL | match x { }
|
||||
| ^ patterns `None` and `Some(_)` not covered
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
fn main() {
|
||||
let x = Some(1);
|
||||
let Some(y) = x; //~ ERROR E0005
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0005]: refutable pattern in local binding: `None` not covered
|
||||
--> $DIR/E0005.rs:8:9
|
||||
--> $DIR/E0005.rs:3:9
|
||||
|
|
||||
LL | let Some(y) = x;
|
||||
| ^^^^^^^ pattern `None` not covered
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
fn main() {
|
||||
let xs : Vec<Option<i32>> = vec![Some(1), None];
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0005]: refutable pattern in `for` loop binding: `None` not covered
|
||||
--> $DIR/E0297.rs:9:9
|
||||
--> $DIR/E0297.rs:4:9
|
||||
|
|
||||
LL | for Some(x) in xs {}
|
||||
| ^^^^^^^ pattern `None` not covered
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
#![feature(never_type)]
|
||||
|
||||
fn foo() -> Result<u32, !> {
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0005]: refutable pattern in local binding: `Err(_)` not covered
|
||||
--> $DIR/feature-gate-exhaustive-patterns.rs:13:9
|
||||
--> $DIR/feature-gate-exhaustive-patterns.rs:8:9
|
||||
|
|
||||
LL | let Ok(_x) = foo();
|
||||
| ^^^^^^ pattern `Err(_)` not covered
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(generic_associated_types)]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0271]: type mismatch resolving `for<'a> <<std::vec::Vec<T> as Iterable>::Iter<'a> as std::iter::Iterator>::Item == <std::vec::Vec<T> as Iterable>::Item<'a>`
|
||||
--> $DIR/iterable.rs:20:5
|
||||
--> $DIR/iterable.rs:15:5
|
||||
|
|
||||
LL | impl<T> Iterable for Vec<T> {
|
||||
| --------------------------- in this `impl` item
|
||||
@ -17,7 +17,7 @@ LL | type Item;
|
||||
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
|
||||
|
||||
error[E0271]: type mismatch resolving `for<'a> <<[T] as Iterable>::Iter<'a> as std::iter::Iterator>::Item == <[T] as Iterable>::Item<'a>`
|
||||
--> $DIR/iterable.rs:32:5
|
||||
--> $DIR/iterable.rs:27:5
|
||||
|
|
||||
LL | impl<T> Iterable for [T] {
|
||||
| ------------------------ in this `impl` item
|
||||
@ -35,7 +35,7 @@ LL | type Item;
|
||||
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
|
||||
|
||||
error[E0271]: type mismatch resolving `for<'a> <<std::vec::Vec<T> as Iterable>::Iter<'a> as std::iter::Iterator>::Item == <std::vec::Vec<T> as Iterable>::Item<'a>`
|
||||
--> $DIR/iterable.rs:24:30
|
||||
--> $DIR/iterable.rs:19:30
|
||||
|
|
||||
LL | trait Iterable {
|
||||
| -------------- required by `Iterable`
|
||||
@ -49,7 +49,7 @@ LL | fn iter<'a>(&'a self) -> Self::Iter<'a> {
|
||||
= note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
|
||||
|
||||
error[E0271]: type mismatch resolving `for<'a> <<[T] as Iterable>::Iter<'a> as std::iter::Iterator>::Item == <[T] as Iterable>::Item<'a>`
|
||||
--> $DIR/iterable.rs:36:30
|
||||
--> $DIR/iterable.rs:31:30
|
||||
|
|
||||
LL | trait Iterable {
|
||||
| -------------- required by `Iterable`
|
||||
|
@ -1,8 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
|
||||
use std::fmt::Debug;
|
||||
|
||||
trait Foo {
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0643]: method `foo` has incompatible signature for trait
|
||||
--> $DIR/impl-generic-mismatch.rs:13:12
|
||||
--> $DIR/impl-generic-mismatch.rs:8:12
|
||||
|
|
||||
LL | fn foo(&self, _: &impl Debug);
|
||||
| ---------- declaration in trait here
|
||||
@ -13,7 +13,7 @@ LL | fn foo(&self, _: &impl Debug) { }
|
||||
| -- ^^^^^^^^^^
|
||||
|
||||
error[E0643]: method `bar` has incompatible signature for trait
|
||||
--> $DIR/impl-generic-mismatch.rs:22:23
|
||||
--> $DIR/impl-generic-mismatch.rs:17:23
|
||||
|
|
||||
LL | fn bar<U: Debug>(&self, _: &U);
|
||||
| - declaration in trait here
|
||||
@ -27,7 +27,7 @@ LL | fn bar<U: Debug>(&self, _: &U) { }
|
||||
| ^^^^^^^^^^ ^
|
||||
|
||||
error[E0643]: method `hash` has incompatible signature for trait
|
||||
--> $DIR/impl-generic-mismatch.rs:33:33
|
||||
--> $DIR/impl-generic-mismatch.rs:28:33
|
||||
|
|
||||
LL | fn hash(&self, hasher: &mut impl Hasher) {}
|
||||
| ^^^^^^^^^^^ expected generic parameter, found `impl Trait`
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
// aux-build:two_macros.rs
|
||||
|
||||
macro_rules! define_vec {
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: macro-expanded `extern crate` items cannot shadow names passed with `--extern`
|
||||
--> $DIR/extern-prelude-extern-crate-restricted-shadowing.rs:23:9
|
||||
--> $DIR/extern-prelude-extern-crate-restricted-shadowing.rs:19:9
|
||||
|
|
||||
LL | extern crate std as core;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -10,13 +10,13 @@ LL | define_other_core!();
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0659]: `Vec` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)
|
||||
--> $DIR/extern-prelude-extern-crate-restricted-shadowing.rs:17:9
|
||||
--> $DIR/extern-prelude-extern-crate-restricted-shadowing.rs:13:9
|
||||
|
|
||||
LL | Vec::panic!();
|
||||
| ^^^ ambiguous name
|
||||
|
|
||||
note: `Vec` could refer to the crate imported here
|
||||
--> $DIR/extern-prelude-extern-crate-restricted-shadowing.rs:9:9
|
||||
--> $DIR/extern-prelude-extern-crate-restricted-shadowing.rs:5:9
|
||||
|
|
||||
LL | extern crate std as Vec;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
use std::ops::Deref;
|
||||
trait Trait {}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error: `impl` item signature doesn't match `trait` item signature
|
||||
--> $DIR/mismatched_trait_impl-2.rs:12:5
|
||||
--> $DIR/mismatched_trait_impl-2.rs:8:5
|
||||
|
|
||||
LL | fn deref(&self) -> &dyn Trait {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found fn(&Struct) -> &dyn Trait
|
||||
|
@ -1,7 +1,3 @@
|
||||
// FIXME: missing sysroot spans (#53081)
|
||||
// ignore-i586-unknown-linux-gnu
|
||||
// ignore-i586-unknown-linux-musl
|
||||
// ignore-i686-unknown-linux-musl
|
||||
use std::cell::Cell;
|
||||
use std::panic::catch_unwind;
|
||||
fn main() {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user