Make some diagnostics not depend on the source of what they reference being available

This commit is contained in:
Oli Scherer 2022-12-09 15:56:23 +00:00
parent 71ec1457ee
commit cb26b35b12
228 changed files with 417 additions and 1504 deletions

View File

@ -1527,13 +1527,15 @@ impl<'a, 'tcx> CrateMetadataRef<'a> {
if let Some(virtual_dir) = &sess.opts.unstable_opts.simulate_remapped_rust_src_base if let Some(virtual_dir) = &sess.opts.unstable_opts.simulate_remapped_rust_src_base
{ {
if let Some(real_dir) = &sess.opts.real_rust_source_base_dir { if let Some(real_dir) = &sess.opts.real_rust_source_base_dir {
if let rustc_span::FileName::Real(ref mut old_name) = name { for subdir in ["library", "compiler"] {
if let rustc_span::RealFileName::LocalPath(local) = old_name { if let rustc_span::FileName::Real(ref mut old_name) = name {
if let Ok(rest) = local.strip_prefix(real_dir) { if let rustc_span::RealFileName::LocalPath(local) = old_name {
*old_name = rustc_span::RealFileName::Remapped { if let Ok(rest) = local.strip_prefix(real_dir.join(subdir)) {
local_path: None, *old_name = rustc_span::RealFileName::Remapped {
virtual_name: virtual_dir.join(rest), local_path: None,
}; virtual_name: virtual_dir.join(subdir).join(rest),
};
}
} }
} }
} }

View File

@ -1308,15 +1308,15 @@ impl<'tcx> Visitor<'tcx> for TypePrivacyVisitor<'tcx> {
let is_local_static = let is_local_static =
if let DefKind::Static(_) = kind { def_id.is_local() } else { false }; if let DefKind::Static(_) = kind { def_id.is_local() } else { false };
if !self.item_is_accessible(def_id) && !is_local_static { if !self.item_is_accessible(def_id) && !is_local_static {
let sess = self.tcx.sess; let name = match *qpath {
let sm = sess.source_map(); hir::QPath::LangItem(it, ..) => {
let name = match qpath { self.tcx.lang_items().get(it).map(|did| self.tcx.def_path_str(did))
hir::QPath::Resolved(..) | hir::QPath::LangItem(..) => {
sm.span_to_snippet(qpath.span()).ok()
} }
hir::QPath::Resolved(_, path) => Some(self.tcx.def_path_str(path.res.def_id())),
hir::QPath::TypeRelative(_, segment) => Some(segment.ident.to_string()), hir::QPath::TypeRelative(_, segment) => Some(segment.ident.to_string()),
}; };
let kind = kind.descr(def_id); let kind = kind.descr(def_id);
let sess = self.tcx.sess;
let _ = match name { let _ = match name {
Some(name) => { Some(name) => {
sess.emit_err(ItemIsPrivate { span, kind, descr: (&name).into() }) sess.emit_err(ItemIsPrivate { span, kind, descr: (&name).into() })

View File

@ -2179,15 +2179,15 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
format!("does not implement `{}`", trait_pred.print_modifiers_and_trait_path()) format!("does not implement `{}`", trait_pred.print_modifiers_and_trait_path())
}; };
let mut explain_yield = |interior_span: Span, let mut explain_yield =
yield_span: Span, |interior_span: Span, yield_span: Span, scope_span: Option<Span>| {
scope_span: Option<Span>| { let mut span = MultiSpan::from_span(yield_span);
let mut span = MultiSpan::from_span(yield_span); let snippet = match source_map.span_to_snippet(interior_span) {
if let Ok(snippet) = source_map.span_to_snippet(interior_span) { // #70935: If snippet contains newlines, display "the value" instead
// #70935: If snippet contains newlines, display "the value" instead // so that we do not emit complex diagnostics.
// so that we do not emit complex diagnostics. Ok(snippet) if !snippet.contains('\n') => format!("`{}`", snippet),
let snippet = &format!("`{}`", snippet); _ => "the value".to_string(),
let snippet = if snippet.contains('\n') { "the value" } else { snippet }; };
// note: future is not `Send` as this value is used across an await // note: future is not `Send` as this value is used across an await
// --> $DIR/issue-70935-complex-spans.rs:13:9 // --> $DIR/issue-70935-complex-spans.rs:13:9
// | // |
@ -2234,8 +2234,7 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> {
if let Some((span, msg)) = scope_note { if let Some((span, msg)) = scope_note {
err.span_note(span, &msg); err.span_note(span, &msg);
} }
} };
};
match interior_or_upvar_span { match interior_or_upvar_span {
GeneratorInteriorOrUpvar::Interior(interior_span, interior_extra_info) => { GeneratorInteriorOrUpvar::Interior(interior_span, interior_extra_info) => {
if let Some((scope_span, yield_span, expr, from_awaited_ty)) = interior_extra_info { if let Some((scope_span, yield_span, expr, from_awaited_ty)) = interior_extra_info {

View File

@ -661,8 +661,7 @@ LL | #[derive(Diagnostic)]
note: required by a bound in `DiagnosticBuilder::<'a, G>::set_arg` note: required by a bound in `DiagnosticBuilder::<'a, G>::set_arg`
--> $COMPILER_DIR/rustc_errors/src/diagnostic_builder.rs:LL:CC --> $COMPILER_DIR/rustc_errors/src/diagnostic_builder.rs:LL:CC
| |
LL | arg: impl IntoDiagnosticArg, = note: required by this bound in `DiagnosticBuilder::<'a, G>::set_arg`
| ^^^^^^^^^^^^^^^^^ required by this bound in `DiagnosticBuilder::<'a, G>::set_arg`
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 83 previous errors error: aborting due to 83 previous errors

View File

@ -17,9 +17,6 @@ LL | | }
= note: struct `core::alloc::Layout` and struct `Layout` have similar names, but are actually distinct types = note: struct `core::alloc::Layout` and struct `Layout` have similar names, but are actually distinct types
note: struct `core::alloc::Layout` is defined in crate `core` note: struct `core::alloc::Layout` is defined in crate `core`
--> $SRC_DIR/core/src/alloc/layout.rs:LL:COL --> $SRC_DIR/core/src/alloc/layout.rs:LL:COL
|
LL | pub struct Layout {
| ^^^^^^^^^^^^^^^^^
note: struct `Layout` is defined in the current crate note: struct `Layout` is defined in the current crate
--> $DIR/alloc-error-handler-bad-signature-2.rs:7:1 --> $DIR/alloc-error-handler-bad-signature-2.rs:7:1
| |

View File

@ -15,9 +15,6 @@ LL | fn get_iter(vec: &[i32]) -> impl Iterator<Item = {}> + '_ {
| |
note: associated type defined here note: associated type defined here
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
|
LL | type Item;
| ^^^^^^^^^
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -7,9 +7,6 @@ LL | type Ty = Vec<[u8]>;
= help: the trait `Sized` is not implemented for `[u8]` = help: the trait `Sized` is not implemented for `[u8]`
note: required by a bound in `Vec` note: required by a bound in `Vec`
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
| ^ required by this bound in `Vec`
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,9 +6,6 @@ LL | trait ArithmeticOps: Add<Output=Self> + Sub<Output=Self> + Mul<Output=Self>
| |
note: required by a bound in `Add` note: required by a bound in `Add`
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Add<Rhs = Self> {
| ^^^^^^^^^^ required by this bound in `Add`
help: consider further restricting `Self` help: consider further restricting `Self`
| |
LL | trait ArithmeticOps: Add<Output=Self> + Sub<Output=Self> + Mul<Output=Self> + Div<Output=Self> + Sized {} LL | trait ArithmeticOps: Add<Output=Self> + Sub<Output=Self> + Mul<Output=Self> + Div<Output=Self> + Sized {}

View File

@ -12,9 +12,6 @@ LL | fun(async {}, async {});
found `async` block `[async block@$DIR/generator-desc.rs:10:19: 10:27]` found `async` block `[async block@$DIR/generator-desc.rs:10:19: 10:27]`
note: function defined here note: function defined here
--> $SRC_DIR/core/src/future/mod.rs:LL:COL --> $SRC_DIR/core/src/future/mod.rs:LL:COL
|
LL | pub const fn identity_future<O, Fut: Future<Output = O>>(f: Fut) -> Fut {
| ^^^^^^^^^^^^^^^
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/generator-desc.rs:12:16 --> $DIR/generator-desc.rs:12:16

View File

@ -8,9 +8,6 @@ LL | let mut f = File::open(path.to_str())?;
| |
note: required by a bound in `File::open` note: required by a bound in `File::open`
--> $SRC_DIR/std/src/fs.rs:LL:COL --> $SRC_DIR/std/src/fs.rs:LL:COL
|
LL | pub fn open<P: AsRef<Path>>(path: P) -> io::Result<File> {
| ^^^^^^^^^^^ required by this bound in `File::open`
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,11 +6,6 @@ LL | async fn copy() -> Result<()>
| | | |
| expected 2 generic arguments | expected 2 generic arguments
| |
note: enum defined here, with 2 generic parameters: `T`, `E`
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^ - -
help: add missing generic argument help: add missing generic argument
| |
LL | async fn copy() -> Result<(), E> LL | async fn copy() -> Result<(), E>

View File

@ -14,9 +14,6 @@ LL | struct Sleep(std::marker::PhantomPinned);
| ^^^^^ | ^^^^^
note: required by a bound in `Pin::<P>::new` note: required by a bound in `Pin::<P>::new`
--> $SRC_DIR/core/src/pin.rs:LL:COL --> $SRC_DIR/core/src/pin.rs:LL:COL
|
LL | impl<P: Deref<Target: Unpin>> Pin<P> {
| ^^^^^ required by this bound in `Pin::<P>::new`
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,11 +6,9 @@ LL | struct Sleep;
... ...
LL | self.sleep.poll(cx) LL | self.sleep.poll(cx)
| ^^^^ method not found in `Sleep` | ^^^^ method not found in `Sleep`
--> $SRC_DIR/core/src/future/future.rs:LL:COL
| |
::: $SRC_DIR/core/src/future/future.rs:LL:COL = note: the method is available for `Pin<&mut Sleep>` here
|
LL | fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>;
| ---- the method is available for `Pin<&mut Sleep>` here
| |
help: consider wrapping the receiver expression with the appropriate type help: consider wrapping the receiver expression with the appropriate type
| |

View File

@ -9,10 +9,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-consume-args.rs:6:5
| |
LL | fn add(self, rhs: Rhs) -> Self::Output; LL | lhs + rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn add<A: Add<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn add<A: Add<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -45,10 +45,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-consume-args.rs:12:5
| |
LL | fn sub(self, rhs: Rhs) -> Self::Output; LL | lhs - rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn sub<A: Sub<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn sub<A: Sub<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -81,10 +81,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-consume-args.rs:18:5
| |
LL | fn mul(self, rhs: Rhs) -> Self::Output; LL | lhs * rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn mul<A: Mul<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn mul<A: Mul<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -117,10 +117,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-consume-args.rs:24:5
| |
LL | fn div(self, rhs: Rhs) -> Self::Output; LL | lhs / rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn div<A: Div<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn div<A: Div<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -153,10 +153,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-consume-args.rs:30:5
| |
LL | fn rem(self, rhs: Rhs) -> Self::Output; LL | lhs % rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn rem<A: Rem<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn rem<A: Rem<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -189,10 +189,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $DIR/binop-consume-args.rs:36:5
| |
LL | fn bitand(self, rhs: Rhs) -> Self::Output; LL | lhs & rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn bitand<A: BitAnd<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn bitand<A: BitAnd<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -225,10 +225,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $DIR/binop-consume-args.rs:42:5
| |
LL | fn bitor(self, rhs: Rhs) -> Self::Output; LL | lhs | rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn bitor<A: BitOr<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn bitor<A: BitOr<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -261,10 +261,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $DIR/binop-consume-args.rs:48:5
| |
LL | fn bitxor(self, rhs: Rhs) -> Self::Output; LL | lhs ^ rhs;
| ^^^^ | ^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn bitxor<A: BitXor<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn bitxor<A: BitXor<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -297,10 +297,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $DIR/binop-consume-args.rs:54:5
| |
LL | fn shl(self, rhs: Rhs) -> Self::Output; LL | lhs << rhs;
| ^^^^ | ^^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn shl<A: Shl<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn shl<A: Shl<B, Output=()> + Copy, B>(lhs: A, rhs: B) {
@ -333,10 +333,10 @@ LL | drop(lhs);
| ^^^ value used here after move | ^^^ value used here after move
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $DIR/binop-consume-args.rs:60:5
| |
LL | fn shr(self, rhs: Rhs) -> Self::Output; LL | lhs >> rhs;
| ^^^^ | ^^^^^^^^^^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn shr<A: Shr<B, Output=()> + Copy, B>(lhs: A, rhs: B) { LL | fn shr<A: Shr<B, Output=()> + Copy, B>(lhs: A, rhs: B) {

View File

@ -12,10 +12,12 @@ LL | | x;
| `x` moved due to usage in operator | `x` moved due to usage in operator
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-move-semantics.rs:6:5
| |
LL | fn add(self, rhs: Rhs) -> Self::Output; LL | / x
| ^^^^ LL | | +
LL | | x;
| |_____^
help: consider further restricting this bound help: consider further restricting this bound
| |
LL | fn double_move<T: Add<Output=()> + Copy>(x: T) { LL | fn double_move<T: Add<Output=()> + Copy>(x: T) {
@ -77,10 +79,12 @@ LL | | *n;
| |______- `*m` moved due to usage in operator | |______- `*m` moved due to usage in operator
| |
note: calling this operator moves the left-hand side note: calling this operator moves the left-hand side
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $DIR/binop-move-semantics.rs:30:5
| |
LL | fn add(self, rhs: Rhs) -> Self::Output; LL | / *m
| ^^^^ LL | | +
LL | | *n;
| |______^
error[E0507]: cannot move out of `*n` which is behind a shared reference error[E0507]: cannot move out of `*n` which is behind a shared reference
--> $DIR/binop-move-semantics.rs:32:5 --> $DIR/binop-move-semantics.rs:32:5

View File

@ -13,9 +13,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Add<_>` | ^^^^^^^^ must implement `Add<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Add<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: cannot subtract `A` from `A` error[E0369]: cannot subtract `A` from `A`
--> $DIR/issue-28837.rs:8:7 --> $DIR/issue-28837.rs:8:7
@ -32,9 +29,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Sub<_>` | ^^^^^^^^ must implement `Sub<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Sub<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: cannot multiply `A` by `A` error[E0369]: cannot multiply `A` by `A`
--> $DIR/issue-28837.rs:10:7 --> $DIR/issue-28837.rs:10:7
@ -51,9 +45,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Mul<_>` | ^^^^^^^^ must implement `Mul<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Mul<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: cannot divide `A` by `A` error[E0369]: cannot divide `A` by `A`
--> $DIR/issue-28837.rs:12:7 --> $DIR/issue-28837.rs:12:7
@ -70,9 +61,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Div<_>` | ^^^^^^^^ must implement `Div<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Div<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: cannot mod `A` by `A` error[E0369]: cannot mod `A` by `A`
--> $DIR/issue-28837.rs:14:7 --> $DIR/issue-28837.rs:14:7
@ -89,9 +77,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Rem<_>` | ^^^^^^^^ must implement `Rem<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Rem<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: no implementation for `A & A` error[E0369]: no implementation for `A & A`
--> $DIR/issue-28837.rs:16:7 --> $DIR/issue-28837.rs:16:7
@ -108,9 +93,6 @@ LL | struct A;
| ^^^^^^^^ must implement `BitAnd<_>` | ^^^^^^^^ must implement `BitAnd<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
|
LL | pub trait BitAnd<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: no implementation for `A | A` error[E0369]: no implementation for `A | A`
--> $DIR/issue-28837.rs:18:7 --> $DIR/issue-28837.rs:18:7
@ -127,9 +109,6 @@ LL | struct A;
| ^^^^^^^^ must implement `BitOr<_>` | ^^^^^^^^ must implement `BitOr<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
|
LL | pub trait BitOr<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: no implementation for `A << A` error[E0369]: no implementation for `A << A`
--> $DIR/issue-28837.rs:20:7 --> $DIR/issue-28837.rs:20:7
@ -146,9 +125,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Shl<_>` | ^^^^^^^^ must implement `Shl<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
|
LL | pub trait Shl<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: no implementation for `A >> A` error[E0369]: no implementation for `A >> A`
--> $DIR/issue-28837.rs:22:7 --> $DIR/issue-28837.rs:22:7
@ -165,9 +141,6 @@ LL | struct A;
| ^^^^^^^^ must implement `Shr<_>` | ^^^^^^^^ must implement `Shr<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
|
LL | pub trait Shr<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0369]: binary operation `==` cannot be applied to type `A` error[E0369]: binary operation `==` cannot be applied to type `A`
--> $DIR/issue-28837.rs:24:7 --> $DIR/issue-28837.rs:24:7

View File

@ -13,9 +13,6 @@ LL | struct Thing {
| ^^^^^^^^^^^^ must implement `Mul<_>` | ^^^^^^^^^^^^ must implement `Mul<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait Mul<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error error: aborting due to previous error

View File

@ -9,9 +9,6 @@ LL | let _x = Rc::new(vec![1, 2]).into_iter();
| |
note: this function takes ownership of the receiver `self`, which moves value note: this function takes ownership of the receiver `self`, which moves value
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
error: aborting due to previous error error: aborting due to previous error

View File

@ -29,9 +29,6 @@ LL | let _y = foo;
| |
note: this function takes ownership of the receiver `self`, which moves `foo` note: this function takes ownership of the receiver `self`, which moves `foo`
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
|
LL | pub const fn unwrap(self) -> T {
| ^^^^
error[E0382]: use of moved value: `foo` error[E0382]: use of moved value: `foo`
--> $DIR/issue-83760.rs:37:14 --> $DIR/issue-83760.rs:37:14
@ -57,9 +54,6 @@ LL | foo = Some(Struct);
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
note: this function takes ownership of the receiver `self`, which moves `foo` note: this function takes ownership of the receiver `self`, which moves `foo`
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
|
LL | pub const fn unwrap(self) -> T {
| ^^^^
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -11,9 +11,6 @@ LL | fill_segment(state);
| |
note: this function takes ownership of the receiver `self`, which moves `state` note: this function takes ownership of the receiver `self`, which moves `state`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
help: consider creating a fresh reborrow of `state` here help: consider creating a fresh reborrow of `state` here
| |
LL | for _ in &mut *state {} LL | for _ in &mut *state {}

View File

@ -10,9 +10,6 @@ LL | cb.map(|cb| cb());
| |
note: this function takes ownership of the receiver `self`, which moves `*cb` note: this function takes ownership of the receiver `self`, which moves `*cb`
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
|
LL | pub const fn map<U, F>(self, f: F) -> Option<U>
| ^^^^
error[E0596]: cannot borrow `*cb` as mutable, as it is behind a `&` reference error[E0596]: cannot borrow `*cb` as mutable, as it is behind a `&` reference
--> $DIR/suggest-as-ref-on-mut-closure.rs:12:26 --> $DIR/suggest-as-ref-on-mut-closure.rs:12:26

View File

@ -12,9 +12,6 @@ LL | y.into_iter();
| |
note: this function takes ownership of the receiver `self`, which moves `y` note: this function takes ownership of the receiver `self`, which moves `y`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
error: aborting due to previous error error: aborting due to previous error

View File

@ -9,9 +9,6 @@ LL | let _ = Box::into_boxed_slice(boxed_slice);
= help: the trait `Sized` is not implemented for `[u8]` = help: the trait `Sized` is not implemented for `[u8]`
note: required by a bound in `Box::<T, A>::into_boxed_slice` note: required by a bound in `Box::<T, A>::into_boxed_slice`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | impl<T, A: Allocator> Box<T, A> {
| ^ required by this bound in `Box::<T, A>::into_boxed_slice`
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
--> $DIR/into-boxed-slice-fail.rs:7:13 --> $DIR/into-boxed-slice-fail.rs:7:13
@ -33,9 +30,6 @@ LL | let _ = Box::into_boxed_slice(boxed_trait);
= help: the trait `Sized` is not implemented for `dyn Debug` = help: the trait `Sized` is not implemented for `dyn Debug`
note: required by a bound in `Box::<T, A>::into_boxed_slice` note: required by a bound in `Box::<T, A>::into_boxed_slice`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | impl<T, A: Allocator> Box<T, A> {
| ^ required by this bound in `Box::<T, A>::into_boxed_slice`
error[E0277]: the size for values of type `dyn Debug` cannot be known at compilation time error[E0277]: the size for values of type `dyn Debug` cannot be known at compilation time
--> $DIR/into-boxed-slice-fail.rs:11:13 --> $DIR/into-boxed-slice-fail.rs:11:13

View File

@ -63,11 +63,9 @@ error[E0412]: cannot find type `F` in this scope
| |
LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) {
| ^ | ^
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
| |
::: $SRC_DIR/core/src/ops/function.rs:LL:COL = note: similarly named trait `Fn` defined here
|
LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
| -------------------------------------- similarly named trait `Fn` defined here
| |
help: a trait with a similar name exists help: a trait with a similar name exists
| |

View File

@ -14,9 +14,6 @@ LL | | }
= note: [async fn body@$DIR/async.rs:7:29: 9:2] must be a future or must implement `IntoFuture` to be awaited = note: [async fn body@$DIR/async.rs:7:29: 9:2] must be a future or must implement `IntoFuture` to be awaited
note: required by a bound in `identity_future` note: required by a bound in `identity_future`
--> $SRC_DIR/core/src/future/mod.rs:LL:COL --> $SRC_DIR/core/src/future/mod.rs:LL:COL
|
LL | pub const fn identity_future<O, Fut: Future<Output = O>>(f: Fut) -> Fut {
| ^^^^^^^^^^^^^^^^^^ required by this bound in `identity_future`
error[E0277]: the size for values of type `<[async fn body@$DIR/async.rs:7:29: 9:2] as Future>::Output` cannot be known at compilation time error[E0277]: the size for values of type `<[async fn body@$DIR/async.rs:7:29: 9:2] as Future>::Output` cannot be known at compilation time
--> $DIR/async.rs:7:29 --> $DIR/async.rs:7:29
@ -30,9 +27,6 @@ LL | | }
= help: the trait `Sized` is not implemented for `<[async fn body@$DIR/async.rs:7:29: 9:2] as Future>::Output` = help: the trait `Sized` is not implemented for `<[async fn body@$DIR/async.rs:7:29: 9:2] as Future>::Output`
note: required by a bound in `identity_future` note: required by a bound in `identity_future`
--> $SRC_DIR/core/src/future/mod.rs:LL:COL --> $SRC_DIR/core/src/future/mod.rs:LL:COL
|
LL | pub const fn identity_future<O, Fut: Future<Output = O>>(f: Fut) -> Fut {
| ^ required by this bound in `identity_future`
error[E0277]: `[async fn body@$DIR/async.rs:7:29: 9:2]` is not a future error[E0277]: `[async fn body@$DIR/async.rs:7:29: 9:2]` is not a future
--> $DIR/async.rs:7:25 --> $DIR/async.rs:7:25

View File

@ -10,9 +10,9 @@ LL | let y = x.or_else(4);
= note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }` = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `Option::<T>::or_else` note: required by a bound in `Option::<T>::or_else`
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
| $SRC_DIR/core/src/option.rs:LL:COL
LL | F: ~const FnOnce() -> Option<T>, $SRC_DIR/core/src/option.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Option::<T>::or_else` $SRC_DIR/core/src/option.rs:LL:COL
error: aborting due to previous error error: aborting due to previous error

View File

@ -19,9 +19,10 @@ LL | let t = thread::spawn(|| {
| ^^ | ^^
note: required by a bound in `spawn` note: required by a bound in `spawn`
--> $SRC_DIR/std/src/thread/mod.rs:LL:COL --> $SRC_DIR/std/src/thread/mod.rs:LL:COL
| $SRC_DIR/std/src/thread/mod.rs:LL:COL
LL | F: Send + 'static, $SRC_DIR/std/src/thread/mod.rs:LL:COL
| ^^^^ required by this bound in `spawn` $SRC_DIR/std/src/thread/mod.rs:LL:COL
$SRC_DIR/std/src/thread/mod.rs:LL:COL
error[E0277]: `Sender<()>` cannot be shared between threads safely error[E0277]: `Sender<()>` cannot be shared between threads safely
--> $DIR/closure-move-sync.rs:18:19 --> $DIR/closure-move-sync.rs:18:19
@ -40,9 +41,10 @@ LL | thread::spawn(|| tx.send(()).unwrap());
| ^^ | ^^
note: required by a bound in `spawn` note: required by a bound in `spawn`
--> $SRC_DIR/std/src/thread/mod.rs:LL:COL --> $SRC_DIR/std/src/thread/mod.rs:LL:COL
| $SRC_DIR/std/src/thread/mod.rs:LL:COL
LL | F: Send + 'static, $SRC_DIR/std/src/thread/mod.rs:LL:COL
| ^^^^ required by this bound in `spawn` $SRC_DIR/std/src/thread/mod.rs:LL:COL
$SRC_DIR/std/src/thread/mod.rs:LL:COL
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -10,9 +10,9 @@ LL | let x: Option<&[u8]> = Some("foo").map(std::mem::transmute);
= note: unsafe function cannot be called generically without an unsafe block = note: unsafe function cannot be called generically without an unsafe block
note: required by a bound in `Option::<T>::map` note: required by a bound in `Option::<T>::map`
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
| $SRC_DIR/core/src/option.rs:LL:COL
LL | F: ~const FnOnce(T) -> U, $SRC_DIR/core/src/option.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Option::<T>::map` $SRC_DIR/core/src/option.rs:LL:COL
error: aborting due to previous error error: aborting due to previous error

View File

@ -9,11 +9,9 @@ error[E0412]: cannot find type `F` in this scope
| |
LL | _func: F, LL | _func: F,
| ^ | ^
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
| |
::: $SRC_DIR/core/src/ops/function.rs:LL:COL = note: similarly named trait `Fn` defined here
|
LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
| -------------------------------------- similarly named trait `Fn` defined here
| |
help: a trait with a similar name exists help: a trait with a similar name exists
| |

View File

@ -8,9 +8,6 @@ LL | Ok(())
| |
note: tuple variant defined here note: tuple variant defined here
--> $SRC_DIR/core/src/result.rs:LL:COL --> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | Ok(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/issue-87461.rs:17:8 --> $DIR/issue-87461.rs:17:8
@ -22,9 +19,6 @@ LL | Ok(())
| |
note: tuple variant defined here note: tuple variant defined here
--> $SRC_DIR/core/src/result.rs:LL:COL --> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | Ok(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/issue-87461.rs:26:12 --> $DIR/issue-87461.rs:26:12
@ -36,9 +30,6 @@ LL | Ok(())
| |
note: tuple variant defined here note: tuple variant defined here
--> $SRC_DIR/core/src/result.rs:LL:COL --> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | Ok(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@ -3,11 +3,9 @@ error[E0412]: cannot find type `n` in this scope
| |
LL | type_ascribe!(2, n([u8; || 1])) LL | type_ascribe!(2, n([u8; || 1]))
| ^ help: a trait with a similar name exists: `Fn` | ^ help: a trait with a similar name exists: `Fn`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
| |
::: $SRC_DIR/core/src/ops/function.rs:LL:COL = note: similarly named trait `Fn` defined here
|
LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
| -------------------------------------- similarly named trait `Fn` defined here
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/issue-90871.rs:4:29 --> $DIR/issue-90871.rs:4:29

View File

@ -11,9 +11,6 @@ LL | println!("{:?}", some_vec);
| |
note: this function takes ownership of the receiver `self`, which moves `some_vec` note: this function takes ownership of the receiver `self`, which moves `some_vec`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider cloning the value if the performance cost is acceptable help: consider cloning the value if the performance cost is acceptable
| |

View File

@ -7,9 +7,6 @@ LL | let y = Mask::<_, _>::splat(false);
= note: cannot satisfy `_: MaskElement` = note: cannot satisfy `_: MaskElement`
note: required by a bound in `Mask::<T, LANES>::splat` note: required by a bound in `Mask::<T, LANES>::splat`
--> $SRC_DIR/core/src/../../portable-simd/crates/core_simd/src/masks.rs:LL:COL --> $SRC_DIR/core/src/../../portable-simd/crates/core_simd/src/masks.rs:LL:COL
|
LL | T: MaskElement,
| ^^^^^^^^^^^ required by this bound in `Mask::<T, LANES>::splat`
help: consider giving `y` an explicit type, where the type for type parameter `T` is specified help: consider giving `y` an explicit type, where the type for type parameter `T` is specified
| |
LL | let y: Mask<_, LANES> = Mask::<_, _>::splat(false); LL | let y: Mask<_, LANES> = Mask::<_, _>::splat(false);

View File

@ -1,14 +1,10 @@
error[E0080]: evaluation of `Inline::<dyn std::fmt::Debug>::{constant#0}` failed error[E0080]: evaluation of `Inline::<dyn std::fmt::Debug>::{constant#0}` failed
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
| |
LL | intrinsics::size_of::<T>() = note: size_of called on unsized type `dyn Debug`
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ size_of called on unsized type `dyn Debug`
| |
note: inside `std::mem::size_of::<dyn Debug>` note: inside `std::mem::size_of::<dyn Debug>`
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
LL | intrinsics::size_of::<T>()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `Inline::<dyn Debug>::{constant#0}` note: inside `Inline::<dyn Debug>::{constant#0}`
--> $DIR/issue-80742.rs:22:10 --> $DIR/issue-80742.rs:22:10
| |
@ -23,11 +19,9 @@ LL | struct Inline<T>
... ...
LL | let dst = Inline::<dyn Debug>::new(0); LL | let dst = Inline::<dyn Debug>::new(0);
| ^^^ function or associated item cannot be called on `Inline<dyn Debug>` due to unsatisfied trait bounds | ^^^ function or associated item cannot be called on `Inline<dyn Debug>` due to unsatisfied trait bounds
--> $SRC_DIR/core/src/fmt/mod.rs:LL:COL
| |
::: $SRC_DIR/core/src/fmt/mod.rs:LL:COL = note: doesn't satisfy `dyn Debug: Sized`
|
LL | pub trait Debug {
| --------------- doesn't satisfy `dyn Debug: Sized`
| |
= note: the following trait bounds were not satisfied: = note: the following trait bounds were not satisfied:
`dyn Debug: Sized` `dyn Debug: Sized`
@ -35,14 +29,10 @@ LL | pub trait Debug {
error[E0080]: evaluation of `Inline::<dyn std::fmt::Debug>::{constant#0}` failed error[E0080]: evaluation of `Inline::<dyn std::fmt::Debug>::{constant#0}` failed
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
| |
LL | intrinsics::size_of::<T>() = note: size_of called on unsized type `dyn Debug`
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ size_of called on unsized type `dyn Debug`
| |
note: inside `std::mem::size_of::<dyn Debug>` note: inside `std::mem::size_of::<dyn Debug>`
--> $SRC_DIR/core/src/mem/mod.rs:LL:COL --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
LL | intrinsics::size_of::<T>()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `Inline::<dyn Debug>::{constant#0}` note: inside `Inline::<dyn Debug>::{constant#0}`
--> $DIR/issue-80742.rs:14:10 --> $DIR/issue-80742.rs:14:10
| |

View File

@ -4,11 +4,6 @@ error[E0107]: this associated function takes 0 generic arguments but 1 generic a
LL | let _: u32 = 5i32.try_into::<32>().unwrap(); LL | let _: u32 = 5i32.try_into::<32>().unwrap();
| ^^^^^^^^ expected 0 generic arguments | ^^^^^^^^ expected 0 generic arguments
| |
note: associated function defined here, with 0 generic parameters
--> $SRC_DIR/core/src/convert/mod.rs:LL:COL
|
LL | fn try_into(self) -> Result<T, Self::Error>;
| ^^^^^^^^
help: consider moving this generic argument to the `TryInto` trait, which takes up to 1 argument help: consider moving this generic argument to the `TryInto` trait, which takes up to 1 argument
| |
LL | let _: u32 = TryInto::<32>::try_into(5i32).unwrap(); LL | let _: u32 = TryInto::<32>::try_into(5i32).unwrap();

View File

@ -5,12 +5,6 @@ LL | let _: Cell<&str, "a"> = Cell::new("");
| ^^^^ --- help: remove this generic argument | ^^^^ --- help: remove this generic argument
| | | |
| expected 1 generic argument | expected 1 generic argument
|
note: struct defined here, with 1 generic parameter: `T`
--> $SRC_DIR/core/src/cell.rs:LL:COL
|
LL | pub struct Cell<T: ?Sized> {
| ^^^^ -
error: aborting due to previous error error: aborting due to previous error

View File

@ -1,14 +1,10 @@
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `std::slice::from_raw_parts::<'_, u32>` note: inside `std::slice::from_raw_parts::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S0` note: inside `S0`
--> $DIR/forbidden_slices.rs:18:34 --> $DIR/forbidden_slices.rs:18:34
| |
@ -18,14 +14,10 @@ LL | pub static S0: &[u32] = unsafe { from_raw_parts(ptr::null(), 0) };
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `std::slice::from_raw_parts::<'_, ()>` note: inside `std::slice::from_raw_parts::<'_, ()>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S1` note: inside `S1`
--> $DIR/forbidden_slices.rs:19:33 --> $DIR/forbidden_slices.rs:19:33
| |
@ -35,14 +27,10 @@ LL | pub static S1: &[()] = unsafe { from_raw_parts(ptr::null(), 0) };
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| |
note: inside `std::slice::from_raw_parts::<'_, u32>` note: inside `std::slice::from_raw_parts::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S2` note: inside `S2`
--> $DIR/forbidden_slices.rs:22:34 --> $DIR/forbidden_slices.rs:22:34
| |
@ -97,14 +85,10 @@ LL | pub static S7: &[u16] = unsafe {
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| |
note: inside `std::slice::from_raw_parts::<'_, u64>` note: inside `std::slice::from_raw_parts::<'_, u64>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S8` note: inside `S8`
--> $DIR/forbidden_slices.rs:43:5 --> $DIR/forbidden_slices.rs:43:5
| |
@ -114,19 +98,12 @@ LL | from_raw_parts(ptr, 1)
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) } = note: out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr` note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, u32>` note: inside `from_ptr_range::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R0` note: inside `R0`
--> $DIR/forbidden_slices.rs:46:34 --> $DIR/forbidden_slices.rs:46:34
| |
@ -136,19 +113,12 @@ LL | pub static R0: &[u32] = unsafe { from_ptr_range(ptr::null()..ptr::null()) }
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | assert!(0 < pointee_size && pointee_size <= isize::MAX as usize); = note: the evaluated program panicked at 'assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize', $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the evaluated program panicked at 'assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize', $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
note: inside `ptr::const_ptr::<impl *const ()>::sub_ptr` note: inside `ptr::const_ptr::<impl *const ()>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | assert!(0 < pointee_size && pointee_size <= isize::MAX as usize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, ()>` note: inside `from_ptr_range::<'_, ()>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R1` note: inside `R1`
--> $DIR/forbidden_slices.rs:47:33 --> $DIR/forbidden_slices.rs:47:33
| |
@ -159,19 +129,12 @@ LL | pub static R1: &[()] = unsafe { from_ptr_range(ptr::null()..ptr::null()) };
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u32>::offset` note: inside `ptr::const_ptr::<impl *const u32>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u32>::add` note: inside `ptr::const_ptr::<impl *const u32>::add`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { self.offset(count as isize) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R2` note: inside `R2`
--> $DIR/forbidden_slices.rs:50:25 --> $DIR/forbidden_slices.rs:50:25
| |
@ -226,19 +189,12 @@ LL | pub static R7: &[u16] = unsafe {
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u64>::offset` note: inside `ptr::const_ptr::<impl *const u64>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u64>::add` note: inside `ptr::const_ptr::<impl *const u64>::add`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { self.offset(count as isize) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R8` note: inside `R8`
--> $DIR/forbidden_slices.rs:74:25 --> $DIR/forbidden_slices.rs:74:25
| |
@ -248,19 +204,12 @@ LL | from_ptr_range(ptr..ptr.add(1))
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) } = note: `ptr_offset_from_unsigned` called on pointers into different allocations
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on pointers into different allocations
| |
note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr` note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, u32>` note: inside `from_ptr_range::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R9` note: inside `R9`
--> $DIR/forbidden_slices.rs:79:34 --> $DIR/forbidden_slices.rs:79:34
| |
@ -270,19 +219,12 @@ LL | pub static R9: &[u32] = unsafe { from_ptr_range(&D0..(&D0 as *const u32).ad
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) } = note: `ptr_offset_from_unsigned` called on pointers into different allocations
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on pointers into different allocations
| |
note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr` note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, u32>` note: inside `from_ptr_range::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R10` note: inside `R10`
--> $DIR/forbidden_slices.rs:80:35 --> $DIR/forbidden_slices.rs:80:35
| |

View File

@ -1,14 +1,10 @@
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `std::slice::from_raw_parts::<'_, u32>` note: inside `std::slice::from_raw_parts::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S0` note: inside `S0`
--> $DIR/forbidden_slices.rs:18:34 --> $DIR/forbidden_slices.rs:18:34
| |
@ -18,14 +14,10 @@ LL | pub static S0: &[u32] = unsafe { from_raw_parts(ptr::null(), 0) };
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `std::slice::from_raw_parts::<'_, ()>` note: inside `std::slice::from_raw_parts::<'_, ()>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S1` note: inside `S1`
--> $DIR/forbidden_slices.rs:19:33 --> $DIR/forbidden_slices.rs:19:33
| |
@ -35,14 +27,10 @@ LL | pub static S1: &[()] = unsafe { from_raw_parts(ptr::null(), 0) };
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| |
note: inside `std::slice::from_raw_parts::<'_, u32>` note: inside `std::slice::from_raw_parts::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S2` note: inside `S2`
--> $DIR/forbidden_slices.rs:22:34 --> $DIR/forbidden_slices.rs:22:34
| |
@ -97,14 +85,10 @@ LL | pub static S7: &[u16] = unsafe {
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
| |
LL | &*ptr::slice_from_raw_parts(data, len) = note: dereferencing pointer failed: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereferencing pointer failed: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| |
note: inside `std::slice::from_raw_parts::<'_, u64>` note: inside `std::slice::from_raw_parts::<'_, u64>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | &*ptr::slice_from_raw_parts(data, len)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `S8` note: inside `S8`
--> $DIR/forbidden_slices.rs:43:5 --> $DIR/forbidden_slices.rs:43:5
| |
@ -114,19 +98,12 @@ LL | from_raw_parts(ptr, 1)
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) } = note: out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr` note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, u32>` note: inside `from_ptr_range::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R0` note: inside `R0`
--> $DIR/forbidden_slices.rs:46:34 --> $DIR/forbidden_slices.rs:46:34
| |
@ -136,19 +113,12 @@ LL | pub static R0: &[u32] = unsafe { from_ptr_range(ptr::null()..ptr::null()) }
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | assert!(0 < pointee_size && pointee_size <= isize::MAX as usize); = note: the evaluated program panicked at 'assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize', $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the evaluated program panicked at 'assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize', $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
note: inside `ptr::const_ptr::<impl *const ()>::sub_ptr` note: inside `ptr::const_ptr::<impl *const ()>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | assert!(0 < pointee_size && pointee_size <= isize::MAX as usize);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, ()>` note: inside `from_ptr_range::<'_, ()>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R1` note: inside `R1`
--> $DIR/forbidden_slices.rs:47:33 --> $DIR/forbidden_slices.rs:47:33
| |
@ -159,19 +129,12 @@ LL | pub static R1: &[()] = unsafe { from_ptr_range(ptr::null()..ptr::null()) };
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: ALLOC_ID has size 4, so pointer to 8 bytes starting at offset 0 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u32>::offset` note: inside `ptr::const_ptr::<impl *const u32>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u32>::add` note: inside `ptr::const_ptr::<impl *const u32>::add`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { self.offset(count as isize) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R2` note: inside `R2`
--> $DIR/forbidden_slices.rs:50:25 --> $DIR/forbidden_slices.rs:50:25
| |
@ -226,19 +189,12 @@ LL | pub static R7: &[u16] = unsafe {
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: ALLOC_ID has size 8, so pointer to 8 bytes starting at offset 1 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u64>::offset` note: inside `ptr::const_ptr::<impl *const u64>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u64>::add` note: inside `ptr::const_ptr::<impl *const u64>::add`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { self.offset(count as isize) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R8` note: inside `R8`
--> $DIR/forbidden_slices.rs:74:25 --> $DIR/forbidden_slices.rs:74:25
| |
@ -248,19 +204,12 @@ LL | from_ptr_range(ptr..ptr.add(1))
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) } = note: `ptr_offset_from_unsigned` called on pointers into different allocations
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on pointers into different allocations
| |
note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr` note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, u32>` note: inside `from_ptr_range::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R9` note: inside `R9`
--> $DIR/forbidden_slices.rs:79:34 --> $DIR/forbidden_slices.rs:79:34
| |
@ -270,19 +219,12 @@ LL | pub static R9: &[u32] = unsafe { from_ptr_range(&D0..(&D0 as *const u32).ad
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) } = note: `ptr_offset_from_unsigned` called on pointers into different allocations
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from_unsigned` called on pointers into different allocations
| |
note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr` note: inside `ptr::const_ptr::<impl *const u32>::sub_ptr`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from_unsigned(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `from_ptr_range::<'_, u32>` note: inside `from_ptr_range::<'_, u32>`
--> $SRC_DIR/core/src/slice/raw.rs:LL:COL --> $SRC_DIR/core/src/slice/raw.rs:LL:COL
|
LL | unsafe { from_raw_parts(range.start, range.end.sub_ptr(range.start)) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `R10` note: inside `R10`
--> $DIR/forbidden_slices.rs:80:35 --> $DIR/forbidden_slices.rs:80:35
| |

View File

@ -1,14 +1,10 @@
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1); = note: memory access failed: alloc5 has size 4, so pointer to 4 bytes starting at offset 4 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: alloc5 has size 4, so pointer to 4 bytes starting at offset 4 is out-of-bounds
| |
note: inside `std::ptr::read::<u32>` note: inside `std::ptr::read::<u32>`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `_READ` note: inside `_READ`
--> $DIR/out_of_bounds_read.rs:12:33 --> $DIR/out_of_bounds_read.rs:12:33
| |
@ -18,19 +14,12 @@ LL | const _READ: u32 = unsafe { ptr::read(PAST_END_PTR) };
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1); = note: memory access failed: alloc5 has size 4, so pointer to 4 bytes starting at offset 4 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: alloc5 has size 4, so pointer to 4 bytes starting at offset 4 is out-of-bounds
| |
note: inside `std::ptr::read::<u32>` note: inside `std::ptr::read::<u32>`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u32>::read` note: inside `ptr::const_ptr::<impl *const u32>::read`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { read(self) }
| ^^^^^^^^^^
note: inside `_CONST_READ` note: inside `_CONST_READ`
--> $DIR/out_of_bounds_read.rs:13:39 --> $DIR/out_of_bounds_read.rs:13:39
| |
@ -40,19 +29,12 @@ LL | const _CONST_READ: u32 = unsafe { PAST_END_PTR.read() };
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1); = note: memory access failed: alloc5 has size 4, so pointer to 4 bytes starting at offset 4 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ memory access failed: alloc5 has size 4, so pointer to 4 bytes starting at offset 4 is out-of-bounds
| |
note: inside `std::ptr::read::<u32>` note: inside `std::ptr::read::<u32>`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::mut_ptr::<impl *mut u32>::read` note: inside `ptr::mut_ptr::<impl *mut u32>::read`
--> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL
|
LL | unsafe { read(self) }
| ^^^^^^^^^^
note: inside `_MUT_READ` note: inside `_MUT_READ`
--> $DIR/out_of_bounds_read.rs:14:37 --> $DIR/out_of_bounds_read.rs:14:37
| |

View File

@ -1,19 +1,12 @@
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/num/f32.rs:LL:COL --> $SRC_DIR/core/src/num/f32.rs:LL:COL
| |
LL | panic!("const-eval error: cannot use f32::to_bits on a NaN") = note: the evaluated program panicked at 'const-eval error: cannot use f32::to_bits on a NaN', $SRC_DIR/core/src/num/f32.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the evaluated program panicked at 'const-eval error: cannot use f32::to_bits on a NaN', $SRC_DIR/core/src/num/f32.rs:LL:COL
| |
note: inside `core::f32::<impl f32>::to_bits::ct_f32_to_u32` note: inside `core::f32::<impl f32>::to_bits::ct_f32_to_u32`
--> $SRC_DIR/core/src/num/f32.rs:LL:COL --> $SRC_DIR/core/src/num/f32.rs:LL:COL
|
LL | panic!("const-eval error: cannot use f32::to_bits on a NaN")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `core::f32::<impl f32>::to_bits` note: inside `core::f32::<impl f32>::to_bits`
--> $SRC_DIR/core/src/num/f32.rs:LL:COL --> $SRC_DIR/core/src/num/f32.rs:LL:COL
|
LL | unsafe { intrinsics::const_eval_select((self,), ct_f32_to_u32, rt_f32_to_u32) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `f32::MASKED_NAN1` note: inside `f32::MASKED_NAN1`
--> $DIR/const-float-bits-reject-conv.rs:28:30 --> $DIR/const-float-bits-reject-conv.rs:28:30
| |
@ -24,19 +17,12 @@ LL | const MASKED_NAN1: u32 = f32::NAN.to_bits() ^ 0x002A_AAAA;
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/num/f32.rs:LL:COL --> $SRC_DIR/core/src/num/f32.rs:LL:COL
| |
LL | panic!("const-eval error: cannot use f32::to_bits on a NaN") = note: the evaluated program panicked at 'const-eval error: cannot use f32::to_bits on a NaN', $SRC_DIR/core/src/num/f32.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the evaluated program panicked at 'const-eval error: cannot use f32::to_bits on a NaN', $SRC_DIR/core/src/num/f32.rs:LL:COL
| |
note: inside `core::f32::<impl f32>::to_bits::ct_f32_to_u32` note: inside `core::f32::<impl f32>::to_bits::ct_f32_to_u32`
--> $SRC_DIR/core/src/num/f32.rs:LL:COL --> $SRC_DIR/core/src/num/f32.rs:LL:COL
|
LL | panic!("const-eval error: cannot use f32::to_bits on a NaN")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `core::f32::<impl f32>::to_bits` note: inside `core::f32::<impl f32>::to_bits`
--> $SRC_DIR/core/src/num/f32.rs:LL:COL --> $SRC_DIR/core/src/num/f32.rs:LL:COL
|
LL | unsafe { intrinsics::const_eval_select((self,), ct_f32_to_u32, rt_f32_to_u32) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `f32::MASKED_NAN2` note: inside `f32::MASKED_NAN2`
--> $DIR/const-float-bits-reject-conv.rs:30:30 --> $DIR/const-float-bits-reject-conv.rs:30:30
| |
@ -71,19 +57,12 @@ LL | const_assert!(f32::from_bits(MASKED_NAN2).to_bits(), MASKED_NAN2);
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/num/f64.rs:LL:COL --> $SRC_DIR/core/src/num/f64.rs:LL:COL
| |
LL | panic!("const-eval error: cannot use f64::to_bits on a NaN") = note: the evaluated program panicked at 'const-eval error: cannot use f64::to_bits on a NaN', $SRC_DIR/core/src/num/f64.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the evaluated program panicked at 'const-eval error: cannot use f64::to_bits on a NaN', $SRC_DIR/core/src/num/f64.rs:LL:COL
| |
note: inside `core::f64::<impl f64>::to_bits::ct_f64_to_u64` note: inside `core::f64::<impl f64>::to_bits::ct_f64_to_u64`
--> $SRC_DIR/core/src/num/f64.rs:LL:COL --> $SRC_DIR/core/src/num/f64.rs:LL:COL
|
LL | panic!("const-eval error: cannot use f64::to_bits on a NaN")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `core::f64::<impl f64>::to_bits` note: inside `core::f64::<impl f64>::to_bits`
--> $SRC_DIR/core/src/num/f64.rs:LL:COL --> $SRC_DIR/core/src/num/f64.rs:LL:COL
|
LL | unsafe { intrinsics::const_eval_select((self,), ct_f64_to_u64, rt_f64_to_u64) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `f64::MASKED_NAN1` note: inside `f64::MASKED_NAN1`
--> $DIR/const-float-bits-reject-conv.rs:50:30 --> $DIR/const-float-bits-reject-conv.rs:50:30
| |
@ -94,19 +73,12 @@ LL | const MASKED_NAN1: u64 = f64::NAN.to_bits() ^ 0x000A_AAAA_AAAA_AAAA;
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/num/f64.rs:LL:COL --> $SRC_DIR/core/src/num/f64.rs:LL:COL
| |
LL | panic!("const-eval error: cannot use f64::to_bits on a NaN") = note: the evaluated program panicked at 'const-eval error: cannot use f64::to_bits on a NaN', $SRC_DIR/core/src/num/f64.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the evaluated program panicked at 'const-eval error: cannot use f64::to_bits on a NaN', $SRC_DIR/core/src/num/f64.rs:LL:COL
| |
note: inside `core::f64::<impl f64>::to_bits::ct_f64_to_u64` note: inside `core::f64::<impl f64>::to_bits::ct_f64_to_u64`
--> $SRC_DIR/core/src/num/f64.rs:LL:COL --> $SRC_DIR/core/src/num/f64.rs:LL:COL
|
LL | panic!("const-eval error: cannot use f64::to_bits on a NaN")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `core::f64::<impl f64>::to_bits` note: inside `core::f64::<impl f64>::to_bits`
--> $SRC_DIR/core/src/num/f64.rs:LL:COL --> $SRC_DIR/core/src/num/f64.rs:LL:COL
|
LL | unsafe { intrinsics::const_eval_select((self,), ct_f64_to_u64, rt_f64_to_u64) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `f64::MASKED_NAN2` note: inside `f64::MASKED_NAN2`
--> $DIR/const-float-bits-reject-conv.rs:52:30 --> $DIR/const-float-bits-reject-conv.rs:52:30
| |

View File

@ -21,9 +21,6 @@ LL | for i in 0..x {
| |
note: impl defined here, but it is not `const` note: impl defined here, but it is not `const`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | impl<I: Iterator> const IntoIterator for I {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: calls in constant functions are limited to constant functions, tuple structs and tuple variants = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
error[E0658]: mutable references are not allowed in constant functions error[E0658]: mutable references are not allowed in constant functions

View File

@ -6,9 +6,6 @@ LL | for _ in 0..5 {}
| |
note: impl defined here, but it is not `const` note: impl defined here, but it is not `const`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | impl<I: Iterator> const IntoIterator for I {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: calls in constants are limited to constant functions, tuple structs and tuple variants = note: calls in constants are limited to constant functions, tuple structs and tuple variants
error[E0015]: cannot call non-const fn `<std::ops::Range<i32> as Iterator>::next` in constants error[E0015]: cannot call non-const fn `<std::ops::Range<i32> as Iterator>::next` in constants

View File

@ -1,14 +1,10 @@
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/hint.rs:LL:COL --> $SRC_DIR/core/src/hint.rs:LL:COL
| |
LL | intrinsics::unreachable() = note: entering unreachable code
| ^^^^^^^^^^^^^^^^^^^^^^^^^ entering unreachable code
| |
note: inside `unreachable_unchecked` note: inside `unreachable_unchecked`
--> $SRC_DIR/core/src/hint.rs:LL:COL --> $SRC_DIR/core/src/hint.rs:LL:COL
|
LL | intrinsics::unreachable()
| ^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `foo` note: inside `foo`
--> $DIR/const_unsafe_unreachable_ub.rs:6:18 --> $DIR/const_unsafe_unreachable_ub.rs:6:18
| |

View File

@ -31,19 +31,12 @@ LL | let _x: &u32 = transmute(&[0u8; 4]);
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1); = note: accessing memory with alignment 1, but alignment 4 is required
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ accessing memory with alignment 1, but alignment 4 is required
| |
note: inside `std::ptr::read::<u32>` note: inside `std::ptr::read::<u32>`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u32>::read` note: inside `ptr::const_ptr::<impl *const u32>::read`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { read(self) }
| ^^^^^^^^^^
note: inside `INNER` note: inside `INNER`
--> $DIR/detect-extra-ub.rs:38:9 --> $DIR/detect-extra-ub.rs:38:9
| |

View File

@ -1,21 +1,14 @@
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1); = note: unable to copy parts of a pointer from memory at ALLOC
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unable to copy parts of a pointer from memory at ALLOC
| |
= help: this code performed an operation that depends on the underlying bytes representing a pointer = help: this code performed an operation that depends on the underlying bytes representing a pointer
= help: the absolute address of a pointer is not known at compile-time, so such operations are not supported = help: the absolute address of a pointer is not known at compile-time, so such operations are not supported
note: inside `std::ptr::read::<u8>` note: inside `std::ptr::read::<u8>`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | copy_nonoverlapping(src, tmp.as_mut_ptr(), 1);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ptr::const_ptr::<impl *const u8>::read` note: inside `ptr::const_ptr::<impl *const u8>::read`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { read(self) }
| ^^^^^^^^^^
note: inside `C` note: inside `C`
--> $DIR/issue-miri-1910.rs:8:5 --> $DIR/issue-miri-1910.rs:8:5
| |

View File

@ -1,19 +1,12 @@
error[E0080]: evaluation of `<std::string::String as Bar<std::vec::Vec<u32>, std::string::String>>::F` failed error[E0080]: evaluation of `<std::string::String as Bar<std::vec::Vec<u32>, std::string::String>>::F` failed
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) { = note: calling non-const function `<Vec<u32> as Drop>::drop`
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ calling non-const function `<Vec<u32> as Drop>::drop`
| |
note: inside `std::ptr::drop_in_place::<Vec<u32>> - shim(Some(Vec<u32>))` note: inside `std::ptr::drop_in_place::<Vec<u32>> - shim(Some(Vec<u32>))`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `std::ptr::drop_in_place::<(Vec<u32>, u32)> - shim(Some((Vec<u32>, u32)))` note: inside `std::ptr::drop_in_place::<(Vec<u32>, u32)> - shim(Some((Vec<u32>, u32)))`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `<String as Bar<Vec<u32>, String>>::F` note: inside `<String as Bar<Vec<u32>, String>>::F`
--> $DIR/assoc_const.rs:12:31 --> $DIR/assoc_const.rs:12:31
| |

View File

@ -1,14 +1,10 @@
error[E0080]: could not evaluate static initializer error[E0080]: could not evaluate static initializer
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
| |
LL | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) { = note: calling non-const function `<Vec<i32> as Drop>::drop`
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ calling non-const function `<Vec<i32> as Drop>::drop`
| |
note: inside `std::ptr::drop_in_place::<Vec<i32>> - shim(Some(Vec<i32>))` note: inside `std::ptr::drop_in_place::<Vec<i32>> - shim(Some(Vec<i32>))`
--> $SRC_DIR/core/src/ptr/mod.rs:LL:COL --> $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
LL | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `TEST_BAD` note: inside `TEST_BAD`
--> $DIR/drop.rs:17:1 --> $DIR/drop.rs:17:1
| |

View File

@ -1,4 +1,4 @@
// compile-flags: -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ui-testing=no // compile-flags: -Z ui-testing=no
// normalize-stderr-test "alloc[0-9]+" -> "ALLOC_ID" // normalize-stderr-test "alloc[0-9]+" -> "ALLOC_ID"
#![feature(const_swap)] #![feature(const_swap)]

View File

@ -7,14 +7,10 @@ LL | let offset = unsafe { ptr_offset_from(field_ptr, base_ptr) };
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from(self, origin) } = note: `ptr_offset_from` called on pointers into different allocations
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ptr_offset_from` called on pointers into different allocations
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset_from` note: inside `ptr::const_ptr::<impl *const u8>::offset_from`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `NOT_PTR` note: inside `NOT_PTR`
--> $DIR/offset_from_ub.rs:24:14 --> $DIR/offset_from_ub.rs:24:14
| |
@ -90,14 +86,10 @@ LL | unsafe { ptr_offset_from_unsigned(ptr2, ptr1) }
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from(self, origin) } = note: out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset_from` note: inside `ptr::const_ptr::<impl *const u8>::offset_from`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `OFFSET_VERY_FAR1` note: inside `OFFSET_VERY_FAR1`
--> $DIR/offset_from_ub.rs:115:14 --> $DIR/offset_from_ub.rs:115:14
| |
@ -107,14 +99,10 @@ LL | unsafe { ptr2.offset_from(ptr1) }
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::ptr_offset_from(self, origin) } = note: out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds offset_from: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset_from` note: inside `ptr::const_ptr::<impl *const u8>::offset_from`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::ptr_offset_from(self, origin) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `OFFSET_VERY_FAR2` note: inside `OFFSET_VERY_FAR2`
--> $DIR/offset_from_ub.rs:121:14 --> $DIR/offset_from_ub.rs:121:14
| |

View File

@ -1,14 +1,10 @@
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: overflowing in-bounds pointer arithmetic
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing in-bounds pointer arithmetic
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `BEFORE_START` note: inside `BEFORE_START`
--> $DIR/offset_ub.rs:7:46 --> $DIR/offset_ub.rs:7:46
| |
@ -18,14 +14,10 @@ LL | pub const BEFORE_START: *const u8 = unsafe { (&0u8 as *const u8).offset(-1)
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: allocN has size 1, so pointer to 2 bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: allocN has size 1, so pointer to 2 bytes starting at offset 0 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `AFTER_END` note: inside `AFTER_END`
--> $DIR/offset_ub.rs:8:43 --> $DIR/offset_ub.rs:8:43
| |
@ -35,14 +27,10 @@ LL | pub const AFTER_END: *const u8 = unsafe { (&0u8 as *const u8).offset(2) };
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: allocN has size 100, so pointer to 101 bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: allocN has size 100, so pointer to 101 bytes starting at offset 0 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `AFTER_ARRAY` note: inside `AFTER_ARRAY`
--> $DIR/offset_ub.rs:9:45 --> $DIR/offset_ub.rs:9:45
| |
@ -52,14 +40,10 @@ LL | pub const AFTER_ARRAY: *const u8 = unsafe { [0u8; 100].as_ptr().offset(101)
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: overflowing in-bounds pointer arithmetic
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing in-bounds pointer arithmetic
| |
note: inside `ptr::const_ptr::<impl *const u16>::offset` note: inside `ptr::const_ptr::<impl *const u16>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `OVERFLOW` note: inside `OVERFLOW`
--> $DIR/offset_ub.rs:11:43 --> $DIR/offset_ub.rs:11:43
| |
@ -69,14 +53,10 @@ LL | pub const OVERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize::
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: overflowing in-bounds pointer arithmetic
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing in-bounds pointer arithmetic
| |
note: inside `ptr::const_ptr::<impl *const u16>::offset` note: inside `ptr::const_ptr::<impl *const u16>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `UNDERFLOW` note: inside `UNDERFLOW`
--> $DIR/offset_ub.rs:12:44 --> $DIR/offset_ub.rs:12:44
| |
@ -86,14 +66,10 @@ LL | pub const UNDERFLOW: *const u16 = unsafe { [0u16; 1].as_ptr().offset(isize:
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: overflowing in-bounds pointer arithmetic
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing in-bounds pointer arithmetic
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `OVERFLOW_ADDRESS_SPACE` note: inside `OVERFLOW_ADDRESS_SPACE`
--> $DIR/offset_ub.rs:13:56 --> $DIR/offset_ub.rs:13:56
| |
@ -103,14 +79,10 @@ LL | pub const OVERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (usize::MAX as *cons
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: overflowing in-bounds pointer arithmetic
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing in-bounds pointer arithmetic
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `UNDERFLOW_ADDRESS_SPACE` note: inside `UNDERFLOW_ADDRESS_SPACE`
--> $DIR/offset_ub.rs:14:57 --> $DIR/offset_ub.rs:14:57
| |
@ -120,14 +92,10 @@ LL | pub const UNDERFLOW_ADDRESS_SPACE: *const u8 = unsafe { (1 as *const u8).of
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: allocN has size 1, so pointer to 2 bytes starting at offset -4 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: allocN has size 1, so pointer to 2 bytes starting at offset -4 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `NEGATIVE_OFFSET` note: inside `NEGATIVE_OFFSET`
--> $DIR/offset_ub.rs:15:49 --> $DIR/offset_ub.rs:15:49
| |
@ -137,14 +105,10 @@ LL | pub const NEGATIVE_OFFSET: *const u8 = unsafe { [0u8; 1].as_ptr().wrapping_
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: allocN has size 0, so pointer to 1 byte starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: allocN has size 0, so pointer to 1 byte starting at offset 0 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `ZERO_SIZED_ALLOC` note: inside `ZERO_SIZED_ALLOC`
--> $DIR/offset_ub.rs:17:50 --> $DIR/offset_ub.rs:17:50
| |
@ -154,14 +118,10 @@ LL | pub const ZERO_SIZED_ALLOC: *const u8 = unsafe { [0u8; 0].as_ptr().offset(1
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) as *mut T } = note: out-of-bounds pointer arithmetic: 0x1[noalloc] is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: 0x1[noalloc] is a dangling pointer (it has no provenance)
| |
note: inside `ptr::mut_ptr::<impl *mut u8>::offset` note: inside `ptr::mut_ptr::<impl *mut u8>::offset`
--> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/mut_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) as *mut T }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `DANGLING` note: inside `DANGLING`
--> $DIR/offset_ub.rs:18:42 --> $DIR/offset_ub.rs:18:42
| |
@ -171,14 +131,10 @@ LL | pub const DANGLING: *const u8 = unsafe { ptr::NonNull::<u8>::dangling().as_
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: null pointer is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: null pointer is a dangling pointer (it has no provenance)
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `NULL_OFFSET_ZERO` note: inside `NULL_OFFSET_ZERO`
--> $DIR/offset_ub.rs:21:50 --> $DIR/offset_ub.rs:21:50
| |
@ -188,14 +144,10 @@ LL | pub const NULL_OFFSET_ZERO: *const u8 = unsafe { ptr::null::<u8>().offset(0
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: 0x7f..f[noalloc] is a dangling pointer (it has no provenance)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: 0x7f..f[noalloc] is a dangling pointer (it has no provenance)
| |
note: inside `ptr::const_ptr::<impl *const u8>::offset` note: inside `ptr::const_ptr::<impl *const u8>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `UNDERFLOW_ABS` note: inside `UNDERFLOW_ABS`
--> $DIR/offset_ub.rs:24:47 --> $DIR/offset_ub.rs:24:47
| |

View File

@ -1,14 +1,10 @@
error[E0080]: evaluation of constant value failed error[E0080]: evaluation of constant value failed
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
| |
LL | unsafe { intrinsics::offset(self, count) } = note: out-of-bounds pointer arithmetic: alloc3 has size $WORD, so pointer to $TWO_WORDS bytes starting at offset 0 is out-of-bounds
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out-of-bounds pointer arithmetic: alloc3 has size $WORD, so pointer to $TWO_WORDS bytes starting at offset 0 is out-of-bounds
| |
note: inside `ptr::const_ptr::<impl *const usize>::offset` note: inside `ptr::const_ptr::<impl *const usize>::offset`
--> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL --> $SRC_DIR/core/src/ptr/const_ptr.rs:LL:COL
|
LL | unsafe { intrinsics::offset(self, count) }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `_` note: inside `_`
--> $DIR/ptr_comparisons.rs:50:34 --> $DIR/ptr_comparisons.rs:50:34
| |

View File

@ -9,9 +9,6 @@ LL | x: Error
| |
note: required by a bound in `AssertParamIsEq` note: required by a bound in `AssertParamIsEq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL --> $SRC_DIR/core/src/cmp.rs:LL:COL
|
LL | pub struct AssertParamIsEq<T: Eq + ?Sized> {
| ^^ required by this bound in `AssertParamIsEq`
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `Error` with `#[derive(Eq)]` help: consider annotating `Error` with `#[derive(Eq)]`
| |

View File

@ -9,9 +9,6 @@ LL | Error
| |
note: required by a bound in `AssertParamIsEq` note: required by a bound in `AssertParamIsEq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL --> $SRC_DIR/core/src/cmp.rs:LL:COL
|
LL | pub struct AssertParamIsEq<T: Eq + ?Sized> {
| ^^ required by this bound in `AssertParamIsEq`
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `Error` with `#[derive(Eq)]` help: consider annotating `Error` with `#[derive(Eq)]`
| |

View File

@ -9,9 +9,6 @@ LL | x: Error
| |
note: required by a bound in `AssertParamIsEq` note: required by a bound in `AssertParamIsEq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL --> $SRC_DIR/core/src/cmp.rs:LL:COL
|
LL | pub struct AssertParamIsEq<T: Eq + ?Sized> {
| ^^ required by this bound in `AssertParamIsEq`
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `Error` with `#[derive(Eq)]` help: consider annotating `Error` with `#[derive(Eq)]`
| |

View File

@ -9,9 +9,6 @@ LL | Error
| |
note: required by a bound in `AssertParamIsEq` note: required by a bound in `AssertParamIsEq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL --> $SRC_DIR/core/src/cmp.rs:LL:COL
|
LL | pub struct AssertParamIsEq<T: Eq + ?Sized> {
| ^^ required by this bound in `AssertParamIsEq`
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `Error` with `#[derive(Eq)]` help: consider annotating `Error` with `#[derive(Eq)]`
| |

View File

@ -3,22 +3,18 @@ error: cannot find derive macro `Eqr` in this scope
| |
LL | #[derive(Eqr)] LL | #[derive(Eqr)]
| ^^^ help: a derive macro with a similar name exists: `Eq` | ^^^ help: a derive macro with a similar name exists: `Eq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL
| |
::: $SRC_DIR/core/src/cmp.rs:LL:COL = note: similarly named derive macro `Eq` defined here
|
LL | pub macro Eq($item:item) {
| ------------ similarly named derive macro `Eq` defined here
error: cannot find derive macro `Eqr` in this scope error: cannot find derive macro `Eqr` in this scope
--> $DIR/deriving-meta-unknown-trait.rs:1:10 --> $DIR/deriving-meta-unknown-trait.rs:1:10
| |
LL | #[derive(Eqr)] LL | #[derive(Eqr)]
| ^^^ help: a derive macro with a similar name exists: `Eq` | ^^^ help: a derive macro with a similar name exists: `Eq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL
| |
::: $SRC_DIR/core/src/cmp.rs:LL:COL = note: similarly named derive macro `Eq` defined here
|
LL | pub macro Eq($item:item) {
| ------------ similarly named derive macro `Eq` defined here
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -20,9 +20,6 @@ LL | Float(Option<f64>),
= note: required for `Option<f64>` to implement `Eq` = note: required for `Option<f64>` to implement `Eq`
note: required by a bound in `AssertParamIsEq` note: required by a bound in `AssertParamIsEq`
--> $SRC_DIR/core/src/cmp.rs:LL:COL --> $SRC_DIR/core/src/cmp.rs:LL:COL
|
LL | pub struct AssertParamIsEq<T: Eq + ?Sized> {
| ^^ required by this bound in `AssertParamIsEq`
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -51,9 +51,6 @@ LL | struct S { x: u8, y: u8 }
| ^^^^^^^^ must implement `AddAssign<_>` | ^^^^^^^^ must implement `AddAssign<_>`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
LL | pub trait AddAssign<Rhs = Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0067]: invalid left-hand side of assignment error[E0067]: invalid left-hand side of assignment
--> $DIR/note-unsupported.rs:17:22 --> $DIR/note-unsupported.rs:17:22

View File

@ -9,9 +9,6 @@ LL | let _x: Box<str> = Box::new(*"hello world");
= help: the trait `Sized` is not implemented for `str` = help: the trait `Sized` is not implemented for `str`
note: required by a bound in `Box::<T>::new` note: required by a bound in `Box::<T>::new`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | impl<T> Box<T> {
| ^ required by this bound in `Box::<T>::new`
error[E0277]: the size for values of type `[isize]` cannot be known at compilation time error[E0277]: the size for values of type `[isize]` cannot be known at compilation time
--> $DIR/dst-rvalue.rs:8:37 --> $DIR/dst-rvalue.rs:8:37
@ -24,9 +21,6 @@ LL | let _x: Box<[isize]> = Box::new(*array);
= help: the trait `Sized` is not implemented for `[isize]` = help: the trait `Sized` is not implemented for `[isize]`
note: required by a bound in `Box::<T>::new` note: required by a bound in `Box::<T>::new`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | impl<T> Box<T> {
| ^ required by this bound in `Box::<T>::new`
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -7,14 +7,9 @@ LL | match x { }
note: `Option<i32>` defined here note: `Option<i32>` defined here
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
| |
LL | pub enum Option<T> { = note:
| ------------------ $SRC_DIR/core/src/option.rs:LL:COL: not covered
... $SRC_DIR/core/src/option.rs:LL:COL: not covered
LL | None,
| ^^^^ not covered
...
LL | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^ not covered
= note: the matched value is of type `Option<i32>` = note: the matched value is of type `Option<i32>`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
| |

View File

@ -9,11 +9,8 @@ LL | let Some(y) = x;
note: `Option<i32>` defined here note: `Option<i32>` defined here
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
| |
LL | pub enum Option<T> { = note:
| ------------------ $SRC_DIR/core/src/option.rs:LL:COL: not covered
...
LL | None,
| ^^^^ not covered
= note: the matched value is of type `Option<i32>` = note: the matched value is of type `Option<i32>`
help: you might want to use `if let` to ignore the variant that isn't matched help: you might want to use `if let` to ignore the variant that isn't matched
| |

View File

@ -6,9 +6,6 @@ LL | fn foo<F: Fn<i32>>(f: F) -> F::Output { f(3) }
| |
note: required by a bound in `Fn` note: required by a bound in `Fn`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL --> $SRC_DIR/core/src/ops/function.rs:LL:COL
|
LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
| ^^^^^ required by this bound in `Fn`
error: aborting due to previous error error: aborting due to previous error

View File

@ -7,11 +7,8 @@ LL | for Some(x) in xs {}
note: `Option<i32>` defined here note: `Option<i32>` defined here
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
| |
LL | pub enum Option<T> { = note:
| ------------------ $SRC_DIR/core/src/option.rs:LL:COL: not covered
...
LL | None,
| ^^^^ not covered
= note: the matched value is of type `Option<i32>` = note: the matched value is of type `Option<i32>`
error: aborting due to previous error error: aborting due to previous error

View File

@ -43,9 +43,6 @@ LL | enum Question {
| ^^^^^^^^^^^^^ must implement `Not` | ^^^^^^^^^^^^^ must implement `Not`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
|
LL | pub trait Not {
| ^^^^^^^^^^^^^
error[E0604]: only `u8` can be cast as `char`, not `u32` error[E0604]: only `u8` can be cast as `char`, not `u32`
--> $DIR/error-festival.rs:25:5 --> $DIR/error-festival.rs:25:5

View File

@ -22,9 +22,9 @@ LL | | });
= help: the trait `FnOnce<({integer},)>` is not implemented for `Option<_>` = help: the trait `FnOnce<({integer},)>` is not implemented for `Option<_>`
note: required by a bound in `Option::<T>::and_then` note: required by a bound in `Option::<T>::and_then`
--> $SRC_DIR/core/src/option.rs:LL:COL --> $SRC_DIR/core/src/option.rs:LL:COL
| $SRC_DIR/core/src/option.rs:LL:COL
LL | F: ~const FnOnce(T) -> Option<U>, $SRC_DIR/core/src/option.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Option::<T>::and_then` $SRC_DIR/core/src/option.rs:LL:COL
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -9,11 +9,8 @@ LL | let Ok(_x) = foo();
note: `Result<u32, !>` defined here note: `Result<u32, !>` defined here
--> $SRC_DIR/core/src/result.rs:LL:COL --> $SRC_DIR/core/src/result.rs:LL:COL
| |
LL | pub enum Result<T, E> { = note:
| --------------------- $SRC_DIR/core/src/result.rs:LL:COL: not covered
...
LL | Err(#[stable(feature = "rust1", since = "1.0.0")] E),
| ^^^ not covered
= note: the matched value is of type `Result<u32, !>` = note: the matched value is of type `Result<u32, !>`
help: you might want to use `if let` to ignore the variant that isn't matched help: you might want to use `if let` to ignore the variant that isn't matched
| |

View File

@ -309,9 +309,6 @@ LL | println!("{} {:.*} {}", 1, 3.2, 4);
found reference `&{float}` found reference `&{float}`
note: associated function defined here note: associated function defined here
--> $SRC_DIR/core/src/fmt/mod.rs:LL:COL --> $SRC_DIR/core/src/fmt/mod.rs:LL:COL
|
LL | pub fn from_usize(x: &usize) -> ArgumentV1<'_> {
| ^^^^^^^^^^
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0308]: mismatched types error[E0308]: mismatched types
@ -327,9 +324,6 @@ LL | println!("{} {:07$.*} {}", 1, 3.2, 4);
found reference `&{float}` found reference `&{float}`
note: associated function defined here note: associated function defined here
--> $SRC_DIR/core/src/fmt/mod.rs:LL:COL --> $SRC_DIR/core/src/fmt/mod.rs:LL:COL
|
LL | pub fn from_usize(x: &usize) -> ArgumentV1<'_> {
| ^^^^^^^^^^
= note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 38 previous errors error: aborting due to 38 previous errors

View File

@ -17,9 +17,6 @@ LL | format!("{:X}", "3");
= note: required for `&str` to implement `UpperHex` = note: required for `&str` to implement `UpperHex`
note: required by a bound in `ArgumentV1::<'a>::new_upper_hex` note: required by a bound in `ArgumentV1::<'a>::new_upper_hex`
--> $SRC_DIR/core/src/fmt/mod.rs:LL:COL --> $SRC_DIR/core/src/fmt/mod.rs:LL:COL
|
LL | arg_new!(new_upper_hex, UpperHex);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ArgumentV1::<'a>::new_upper_hex`
= note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `arg_new` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `arg_new` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,9 +6,6 @@ LL | Pin::new(&mut b).resume();
| |
note: associated function defined here note: associated function defined here
--> $SRC_DIR/core/src/ops/generator.rs:LL:COL --> $SRC_DIR/core/src/ops/generator.rs:LL:COL
|
LL | fn resume(self: Pin<&mut Self>, arg: R) -> GeneratorState<Self::Yield, Self::Return>;
| ^^^^^^
help: provide the argument help: provide the argument
| |
LL | Pin::new(&mut b).resume(()); LL | Pin::new(&mut b).resume(());

View File

@ -20,9 +20,6 @@ LL | Pin::new(&mut gen).resume(());
= help: the trait `Sized` is not implemented for `str` = help: the trait `Sized` is not implemented for `str`
note: required by a bound in `GeneratorState` note: required by a bound in `GeneratorState`
--> $SRC_DIR/core/src/ops/generator.rs:LL:COL --> $SRC_DIR/core/src/ops/generator.rs:LL:COL
|
LL | pub enum GeneratorState<Y, R> {
| ^ required by this bound in `GeneratorState`
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -889,11 +889,6 @@ error[E0107]: missing generics for struct `HashMap`
LL | type A = HashMap; LL | type A = HashMap;
| ^^^^^^^ expected at least 2 generic arguments | ^^^^^^^ expected at least 2 generic arguments
| |
note: struct defined here, with at least 2 generic parameters: `K`, `V`
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
LL | pub struct HashMap<K, V, S = RandomState> {
| ^^^^^^^ - -
help: add missing generic arguments help: add missing generic arguments
| |
LL | type A = HashMap<K, V>; LL | type A = HashMap<K, V>;
@ -907,11 +902,6 @@ LL | type B = HashMap<String>;
| | | |
| expected at least 2 generic arguments | expected at least 2 generic arguments
| |
note: struct defined here, with at least 2 generic parameters: `K`, `V`
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
LL | pub struct HashMap<K, V, S = RandomState> {
| ^^^^^^^ - -
help: add missing generic argument help: add missing generic argument
| |
LL | type B = HashMap<String, V>; LL | type B = HashMap<String, V>;
@ -924,12 +914,6 @@ LL | type C = HashMap<'static>;
| ^^^^^^^--------- help: remove these generics | ^^^^^^^--------- help: remove these generics
| | | |
| expected 0 lifetime arguments | expected 0 lifetime arguments
|
note: struct defined here, with 0 lifetime parameters
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
LL | pub struct HashMap<K, V, S = RandomState> {
| ^^^^^^^
error[E0107]: this struct takes at least 2 generic arguments but 0 generic arguments were supplied error[E0107]: this struct takes at least 2 generic arguments but 0 generic arguments were supplied
--> $DIR/wrong-number-of-args.rs:318:18 --> $DIR/wrong-number-of-args.rs:318:18
@ -937,11 +921,6 @@ error[E0107]: this struct takes at least 2 generic arguments but 0 generic argum
LL | type C = HashMap<'static>; LL | type C = HashMap<'static>;
| ^^^^^^^ expected at least 2 generic arguments | ^^^^^^^ expected at least 2 generic arguments
| |
note: struct defined here, with at least 2 generic parameters: `K`, `V`
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
LL | pub struct HashMap<K, V, S = RandomState> {
| ^^^^^^^ - -
help: add missing generic arguments help: add missing generic arguments
| |
LL | type C = HashMap<'static, K, V>; LL | type C = HashMap<'static, K, V>;
@ -954,12 +933,6 @@ LL | type D = HashMap<usize, String, char, f64>;
| ^^^^^^^ --- help: remove this generic argument | ^^^^^^^ --- help: remove this generic argument
| | | |
| expected at most 3 generic arguments | expected at most 3 generic arguments
|
note: struct defined here, with at most 3 generic parameters: `K`, `V`, `S`
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
LL | pub struct HashMap<K, V, S = RandomState> {
| ^^^^^^^ - - ---------------
error[E0107]: this struct takes at least 2 generic arguments but 0 generic arguments were supplied error[E0107]: this struct takes at least 2 generic arguments but 0 generic arguments were supplied
--> $DIR/wrong-number-of-args.rs:328:18 --> $DIR/wrong-number-of-args.rs:328:18
@ -967,11 +940,6 @@ error[E0107]: this struct takes at least 2 generic arguments but 0 generic argum
LL | type E = HashMap<>; LL | type E = HashMap<>;
| ^^^^^^^ expected at least 2 generic arguments | ^^^^^^^ expected at least 2 generic arguments
| |
note: struct defined here, with at least 2 generic parameters: `K`, `V`
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
LL | pub struct HashMap<K, V, S = RandomState> {
| ^^^^^^^ - -
help: add missing generic arguments help: add missing generic arguments
| |
LL | type E = HashMap<K, V>; LL | type E = HashMap<K, V>;
@ -983,11 +951,6 @@ error[E0107]: missing generics for enum `Result`
LL | type A = Result; LL | type A = Result;
| ^^^^^^ expected 2 generic arguments | ^^^^^^ expected 2 generic arguments
| |
note: enum defined here, with 2 generic parameters: `T`, `E`
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^ - -
help: add missing generic arguments help: add missing generic arguments
| |
LL | type A = Result<T, E>; LL | type A = Result<T, E>;
@ -1001,11 +964,6 @@ LL | type B = Result<String>;
| | | |
| expected 2 generic arguments | expected 2 generic arguments
| |
note: enum defined here, with 2 generic parameters: `T`, `E`
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^ - -
help: add missing generic argument help: add missing generic argument
| |
LL | type B = Result<String, E>; LL | type B = Result<String, E>;
@ -1018,12 +976,6 @@ LL | type C = Result<'static>;
| ^^^^^^--------- help: remove these generics | ^^^^^^--------- help: remove these generics
| | | |
| expected 0 lifetime arguments | expected 0 lifetime arguments
|
note: enum defined here, with 0 lifetime parameters
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^
error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were supplied error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were supplied
--> $DIR/wrong-number-of-args.rs:342:18 --> $DIR/wrong-number-of-args.rs:342:18
@ -1031,11 +983,6 @@ error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were s
LL | type C = Result<'static>; LL | type C = Result<'static>;
| ^^^^^^ expected 2 generic arguments | ^^^^^^ expected 2 generic arguments
| |
note: enum defined here, with 2 generic parameters: `T`, `E`
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^ - -
help: add missing generic arguments help: add missing generic arguments
| |
LL | type C = Result<'static, T, E>; LL | type C = Result<'static, T, E>;
@ -1048,12 +995,6 @@ LL | type D = Result<usize, String, char>;
| ^^^^^^ ---- help: remove this generic argument | ^^^^^^ ---- help: remove this generic argument
| | | |
| expected 2 generic arguments | expected 2 generic arguments
|
note: enum defined here, with 2 generic parameters: `T`, `E`
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^ - -
error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were supplied error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were supplied
--> $DIR/wrong-number-of-args.rs:352:18 --> $DIR/wrong-number-of-args.rs:352:18
@ -1061,11 +1002,6 @@ error[E0107]: this enum takes 2 generic arguments but 0 generic arguments were s
LL | type E = Result<>; LL | type E = Result<>;
| ^^^^^^ expected 2 generic arguments | ^^^^^^ expected 2 generic arguments
| |
note: enum defined here, with 2 generic parameters: `T`, `E`
--> $SRC_DIR/core/src/result.rs:LL:COL
|
LL | pub enum Result<T, E> {
| ^^^^^^ - -
help: add missing generic arguments help: add missing generic arguments
| |
LL | type E = Result<T, E>; LL | type E = Result<T, E>;

View File

@ -46,11 +46,9 @@ error[E0643]: method `hash` has incompatible signature for trait
| |
LL | fn hash(&self, hasher: &mut impl Hasher) {} LL | fn hash(&self, hasher: &mut impl Hasher) {}
| ^^^^^^^^^^^ expected generic parameter, found `impl Trait` | ^^^^^^^^^^^ expected generic parameter, found `impl Trait`
--> $SRC_DIR/core/src/hash/mod.rs:LL:COL
| |
::: $SRC_DIR/core/src/hash/mod.rs:LL:COL = note: declaration in trait here
|
LL | fn hash<H: Hasher>(&self, state: &mut H);
| - declaration in trait here
error: aborting due to 4 previous errors error: aborting due to 4 previous errors

View File

@ -7,9 +7,6 @@ LL | fn nya() -> impl Wf<Vec<[u8]>>;
= help: the trait `Sized` is not implemented for `[u8]` = help: the trait `Sized` is not implemented for `[u8]`
note: required by a bound in `Vec` note: required by a bound in `Vec`
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
| ^ required by this bound in `Vec`
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
--> $DIR/wf-bounds.rs:12:23 --> $DIR/wf-bounds.rs:12:23

View File

@ -4,11 +4,6 @@ error[E0107]: missing generics for struct `Vec`
LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec> { LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec> {
| ^^^ expected at least 1 generic argument | ^^^ expected at least 1 generic argument
| |
note: struct defined here, with at least 1 generic parameter: `T`
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
| ^^^ -
help: add missing generic argument help: add missing generic argument
| |
LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec<T>> { LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec<T>> {

View File

@ -24,11 +24,8 @@ LL | extern crate std as Vec;
... ...
LL | define_vec!(); LL | define_vec!();
| ------------- in this macro invocation | ------------- in this macro invocation
note: `Vec` could also refer to the struct defined here note: `Vec` could also refer to a struct from prelude
--> $SRC_DIR/std/src/prelude/mod.rs:LL:COL --> $SRC_DIR/std/src/prelude/mod.rs:LL:COL
|
LL | pub use super::v1::*;
| ^^^^^^^^^^^^
= note: this error originates in the macro `define_vec` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `define_vec` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -12,9 +12,9 @@ LL | .get(&"key".into())
where T: ?Sized; where T: ?Sized;
note: required by a bound in `HashMap::<K, V, S>::get` note: required by a bound in `HashMap::<K, V, S>::get`
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL --> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
| $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
LL | K: Borrow<Q>, $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
| ^^^^^^^^^ required by this bound in `HashMap::<K, V, S>::get` $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
help: consider specifying the generic argument help: consider specifying the generic argument
| |
LL | .get::<Q>(&"key".into()) LL | .get::<Q>(&"key".into())

View File

@ -16,9 +16,6 @@ LL | catch_unwind(|| { x.set(23); });
| ^^ | ^^
note: required by a bound in `catch_unwind` note: required by a bound in `catch_unwind`
--> $SRC_DIR/std/src/panic.rs:LL:COL --> $SRC_DIR/std/src/panic.rs:LL:COL
|
LL | pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> {
| ^^^^^^^^^^ required by this bound in `catch_unwind`
error: aborting due to previous error error: aborting due to previous error

View File

@ -37,9 +37,10 @@ LL | const_eval_select((), 42, 0xDEADBEEF);
= note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }` = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `const_eval_select` note: required by a bound in `const_eval_select`
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
| $SRC_DIR/core/src/intrinsics.rs:LL:COL
LL | F: FnOnce<ARG, Output = RET>; $SRC_DIR/core/src/intrinsics.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select` $SRC_DIR/core/src/intrinsics.rs:LL:COL
$SRC_DIR/core/src/intrinsics.rs:LL:COL
error: this argument must be a function item error: this argument must be a function item
--> $DIR/const-eval-select-bad.rs:10:31 --> $DIR/const-eval-select-bad.rs:10:31
@ -62,9 +63,10 @@ LL | const_eval_select((), 42, 0xDEADBEEF);
= note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }` = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `const_eval_select` note: required by a bound in `const_eval_select`
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
| $SRC_DIR/core/src/intrinsics.rs:LL:COL
LL | G: FnOnce<ARG, Output = RET>, $SRC_DIR/core/src/intrinsics.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select` $SRC_DIR/core/src/intrinsics.rs:LL:COL
$SRC_DIR/core/src/intrinsics.rs:LL:COL
error[E0271]: expected `fn(i32) -> bool {bar}` to be a fn item that returns `i32`, but it returns `bool` error[E0271]: expected `fn(i32) -> bool {bar}` to be a fn item that returns `i32`, but it returns `bool`
--> $DIR/const-eval-select-bad.rs:32:34 --> $DIR/const-eval-select-bad.rs:32:34
@ -76,9 +78,10 @@ LL | const_eval_select((1,), foo, bar);
| |
note: required by a bound in `const_eval_select` note: required by a bound in `const_eval_select`
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
| $SRC_DIR/core/src/intrinsics.rs:LL:COL
LL | G: FnOnce<ARG, Output = RET>, $SRC_DIR/core/src/intrinsics.rs:LL:COL
| ^^^^^^^^^^^^ required by this bound in `const_eval_select` $SRC_DIR/core/src/intrinsics.rs:LL:COL
$SRC_DIR/core/src/intrinsics.rs:LL:COL
error[E0631]: type mismatch in function arguments error[E0631]: type mismatch in function arguments
--> $DIR/const-eval-select-bad.rs:37:32 --> $DIR/const-eval-select-bad.rs:37:32
@ -95,9 +98,10 @@ LL | const_eval_select((true,), foo, baz);
found function signature `fn(i32) -> _` found function signature `fn(i32) -> _`
note: required by a bound in `const_eval_select` note: required by a bound in `const_eval_select`
--> $SRC_DIR/core/src/intrinsics.rs:LL:COL --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
| $SRC_DIR/core/src/intrinsics.rs:LL:COL
LL | F: FnOnce<ARG, Output = RET>; $SRC_DIR/core/src/intrinsics.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select` $SRC_DIR/core/src/intrinsics.rs:LL:COL
$SRC_DIR/core/src/intrinsics.rs:LL:COL
error: this argument must be a `const fn` error: this argument must be a `const fn`
--> $DIR/const-eval-select-bad.rs:42:29 --> $DIR/const-eval-select-bad.rs:42:29

View File

@ -11,9 +11,6 @@ LL | pub struct BytePos(pub u32);
| ^^^^^^^^^^^^^^^^^^ must implement `Not` | ^^^^^^^^^^^^^^^^^^ must implement `Not`
note: the following trait must be implemented note: the following trait must be implemented
--> $SRC_DIR/core/src/ops/bit.rs:LL:COL --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
|
LL | pub trait Not {
| ^^^^^^^^^^^^^
= note: this error originates in the macro `assert` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `assert` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -4,13 +4,6 @@ error[E0107]: missing generics for struct `Box`
LL | fn fn1(0: Box) {} LL | fn fn1(0: Box) {}
| ^^^ expected at least 1 generic argument | ^^^ expected at least 1 generic argument
| |
note: struct defined here, with at least 1 generic parameter: `T`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | pub struct Box<
| ^^^
LL | T: ?Sized,
| -
help: add missing generic argument help: add missing generic argument
| |
LL | fn fn1(0: Box<T>) {} LL | fn fn1(0: Box<T>) {}

View File

@ -5,11 +5,6 @@ LL | panic!(std::default::Default::default());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `M` declared on the function `begin_panic` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `M` declared on the function `begin_panic`
| |
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider specifying the generic argument
--> $SRC_DIR/std/src/panic.rs:LL:COL
|
LL | $crate::rt::begin_panic::<M>($msg)
| +++++
error: aborting due to previous error error: aborting due to previous error

View File

@ -3,11 +3,9 @@ error[E0573]: expected type, found variant `NoResult`
| |
LL | fn new() -> NoResult<MyEnum, String> { LL | fn new() -> NoResult<MyEnum, String> {
| ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^
--> $SRC_DIR/core/src/result.rs:LL:COL
| |
::: $SRC_DIR/core/src/result.rs:LL:COL = note: similarly named enum `Result` defined here
|
LL | pub enum Result<T, E> {
| --------------------- similarly named enum `Result` defined here
| |
help: try using the variant's enum help: try using the variant's enum
| |
@ -57,11 +55,9 @@ error[E0573]: expected type, found variant `NoResult`
| |
LL | fn newer() -> NoResult<foo::MyEnum, String> { LL | fn newer() -> NoResult<foo::MyEnum, String> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--> $SRC_DIR/core/src/result.rs:LL:COL
| |
::: $SRC_DIR/core/src/result.rs:LL:COL = note: similarly named enum `Result` defined here
|
LL | pub enum Result<T, E> {
| --------------------- similarly named enum `Result` defined here
| |
help: try using the variant's enum help: try using the variant's enum
| |

View File

@ -9,9 +9,6 @@ LL | (|| Box::new(*(&[0][..])))();
= help: the trait `Sized` is not implemented for `[{integer}]` = help: the trait `Sized` is not implemented for `[{integer}]`
note: required by a bound in `Box::<T>::new` note: required by a bound in `Box::<T>::new`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | impl<T> Box<T> {
| ^ required by this bound in `Box::<T>::new`
error: aborting due to previous error error: aborting due to previous error

View File

@ -5,12 +5,6 @@ LL | x: Box<'a, isize>
| ^^^ -- help: remove this lifetime argument | ^^^ -- help: remove this lifetime argument
| | | |
| expected 0 lifetime arguments | expected 0 lifetime arguments
|
note: struct defined here, with 0 lifetime parameters
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | pub struct Box<
| ^^^
error: aborting due to previous error error: aborting due to previous error

View File

@ -6,9 +6,8 @@ LL | b.sort();
| |
note: required by a bound in `slice::<impl [T]>::sort` note: required by a bound in `slice::<impl [T]>::sort`
--> $SRC_DIR/alloc/src/slice.rs:LL:COL --> $SRC_DIR/alloc/src/slice.rs:LL:COL
| $SRC_DIR/alloc/src/slice.rs:LL:COL
LL | T: Ord, $SRC_DIR/alloc/src/slice.rs:LL:COL
| ^^^ required by this bound in `slice::<impl [T]>::sort`
help: consider annotating `X` with `#[derive(Ord)]` help: consider annotating `X` with `#[derive(Ord)]`
| |
LL | #[derive(Ord)] LL | #[derive(Ord)]

View File

@ -7,9 +7,6 @@ LL | fn iceman(c: Vec<[i32]>) {}
= help: the trait `Sized` is not implemented for `[i32]` = help: the trait `Sized` is not implemented for `[i32]`
note: required by a bound in `Vec` note: required by a bound in `Vec`
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
| ^ required by this bound in `Vec`
error: aborting due to previous error error: aborting due to previous error

View File

@ -13,11 +13,6 @@ error[E0107]: missing generics for trait `Fn`
LL | println!("{:?}",(vfnfer[0] as dyn Fn)(3)); LL | println!("{:?}",(vfnfer[0] as dyn Fn)(3));
| ^^ expected 1 generic argument | ^^ expected 1 generic argument
| |
note: trait defined here, with 1 generic parameter: `Args`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
|
LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
| ^^ ----
help: add missing generic argument help: add missing generic argument
| |
LL | println!("{:?}",(vfnfer[0] as dyn Fn<Args>)(3)); LL | println!("{:?}",(vfnfer[0] as dyn Fn<Args>)(3));

View File

@ -9,9 +9,9 @@ LL | "".chars().fold(|_, _| (), ());
= help: the trait `FnMut<(_, char)>` is not implemented for `()` = help: the trait `FnMut<(_, char)>` is not implemented for `()`
note: required by a bound in `fold` note: required by a bound in `fold`
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
LL | F: FnMut(B, Self::Item) -> B, $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Iterator::fold` $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
error: aborting due to previous error error: aborting due to previous error

View File

@ -3,11 +3,9 @@ error[E0530]: match bindings cannot shadow unit variants
| |
LL | None @ _ => {} LL | None @ _ => {}
| ^^^^ cannot be named the same as a unit variant | ^^^^ cannot be named the same as a unit variant
--> $SRC_DIR/std/src/prelude/mod.rs:LL:COL
| |
::: $SRC_DIR/std/src/prelude/mod.rs:LL:COL = note: the unit variant `None` is defined here
|
LL | pub use super::v1::*;
| ------------ the unit variant `None` is defined here
error[E0530]: match bindings cannot shadow constants error[E0530]: match bindings cannot shadow constants
--> $DIR/issue-27033.rs:7:9 --> $DIR/issue-27033.rs:7:9

View File

@ -9,9 +9,6 @@ LL | | });
| |
note: associated function defined here note: associated function defined here
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
|
LL | fn fold<B, F>(mut self, init: B, mut f: F) -> B
| ^^^^
help: provide the argument help: provide the argument
| |
LL ~ needlesArr.iter().fold(|x, y| { LL ~ needlesArr.iter().fold(|x, y| {

View File

@ -8,25 +8,21 @@ LL | .cloned()
found type `u8` found type `u8`
note: required by a bound in `cloned` note: required by a bound in `cloned`
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
LL | Self: Sized + Iterator<Item = &'a T>, $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| ^^^^^^^^^^^^ required by this bound in `Iterator::cloned` $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
error[E0599]: the method `collect` exists for struct `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>`, but its trait bounds were not satisfied error[E0599]: the method `collect` exists for struct `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>`, but its trait bounds were not satisfied
--> $DIR/issue-31173.rs:12:10 --> $DIR/issue-31173.rs:12:10
| |
LL | .collect(); LL | .collect();
| ^^^^^^^ method cannot be called on `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>` due to unsatisfied trait bounds | ^^^^^^^ method cannot be called on `Cloned<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]>>` due to unsatisfied trait bounds
--> $SRC_DIR/core/src/iter/adapters/take_while.rs:LL:COL
| |
::: $SRC_DIR/core/src/iter/adapters/take_while.rs:LL:COL = note: doesn't satisfy `<_ as Iterator>::Item = &_`
--> $SRC_DIR/core/src/iter/adapters/cloned.rs:LL:COL
| |
LL | pub struct TakeWhile<I, P> { = note: doesn't satisfy `_: Iterator`
| -------------------------- doesn't satisfy `<_ as Iterator>::Item = &_`
|
::: $SRC_DIR/core/src/iter/adapters/cloned.rs:LL:COL
|
LL | pub struct Cloned<I> {
| -------------------- doesn't satisfy `_: Iterator`
| |
= note: the following trait bounds were not satisfied: = note: the following trait bounds were not satisfied:
`<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]> as Iterator>::Item = &_` `<TakeWhile<&mut std::vec::IntoIter<u8>, [closure@$DIR/issue-31173.rs:7:21: 7:25]> as Iterator>::Item = &_`

View File

@ -6,11 +6,9 @@ LL | #[derive_Clone]
... ...
LL | foo!(); LL | foo!();
| ------ in this macro invocation | ------ in this macro invocation
--> $SRC_DIR/core/src/macros/mod.rs:LL:COL
| |
::: $SRC_DIR/core/src/macros/mod.rs:LL:COL = note: similarly named attribute macro `derive_const` defined here
|
LL | pub macro derive_const($item:item) {
| ---------------------- similarly named attribute macro `derive_const` defined here
| |
= note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
@ -19,11 +17,9 @@ error: cannot find attribute `derive_Clone` in this scope
| |
LL | #[derive_Clone] LL | #[derive_Clone]
| ^^^^^^^^^^^^ help: an attribute macro with a similar name exists: `derive_const` | ^^^^^^^^^^^^ help: an attribute macro with a similar name exists: `derive_const`
--> $SRC_DIR/core/src/macros/mod.rs:LL:COL
| |
::: $SRC_DIR/core/src/macros/mod.rs:LL:COL = note: similarly named attribute macro `derive_const` defined here
|
LL | pub macro derive_const($item:item) {
| ---------------------- similarly named attribute macro `derive_const` defined here
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -8,9 +8,9 @@ LL | for _ in HashMap::new().iter().cloned() {}
found tuple `(&_, &_)` found tuple `(&_, &_)`
note: required by a bound in `cloned` note: required by a bound in `cloned`
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
LL | Self: Sized + Iterator<Item = &'a T>, $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| ^^^^^^^^^^^^ required by this bound in `Iterator::cloned` $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
error[E0271]: expected `std::collections::hash_map::Iter<'_, _, _>` to be an iterator that yields `&_`, but it yields `(&_, &_)` error[E0271]: expected `std::collections::hash_map::Iter<'_, _, _>` to be an iterator that yields `&_`, but it yields `(&_, &_)`
--> $DIR/issue-33941.rs:6:14 --> $DIR/issue-33941.rs:6:14

View File

@ -32,9 +32,8 @@ LL | let sr2: Vec<(u32, _, _)> = sr.iter().map(|(faction, th_sender, th_rece
| `Iterator::Item` is `&(_, _, _)` here | `Iterator::Item` is `&(_, _, _)` here
note: required by a bound in `collect` note: required by a bound in `collect`
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
LL | fn collect<B: FromIterator<Self::Item>>(self) -> B $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Iterator::collect`
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -12,9 +12,6 @@ LL | let a = std::sys::imp::process::process_common::StdioPipes { ..panic!()
| |
note: the module `sys` is defined here note: the module `sys` is defined here
--> $SRC_DIR/std/src/lib.rs:LL:COL --> $SRC_DIR/std/src/lib.rs:LL:COL
|
LL | mod sys;
| ^^^^^^^
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

View File

@ -10,9 +10,6 @@ LL | b"".starts_with(stringify!(foo))
found reference `&'static str` found reference `&'static str`
note: associated function defined here note: associated function defined here
--> $SRC_DIR/core/src/slice/mod.rs:LL:COL --> $SRC_DIR/core/src/slice/mod.rs:LL:COL
|
LL | pub fn starts_with(&self, needle: &[T]) -> bool
| ^^^^^^^^^^^
= note: this error originates in the macro `stringify` (in Nightly builds, run with -Z macro-backtrace for more info) = note: this error originates in the macro `stringify` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to previous error error: aborting due to previous error

View File

@ -13,9 +13,6 @@ LL | let _: Box<F> = Box::new(|| ());
= help: every closure has a distinct type and so could not always match the caller-chosen type of parameter `F` = help: every closure has a distinct type and so could not always match the caller-chosen type of parameter `F`
note: associated function defined here note: associated function defined here
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
LL | pub fn new(x: T) -> Self {
| ^^^
error: aborting due to previous error error: aborting due to previous error

View File

@ -11,9 +11,6 @@ LL | bad_letters.push('s');
| |
note: this function takes ownership of the receiver `self`, which moves `bad_letters` note: this function takes ownership of the receiver `self`, which moves `bad_letters`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
help: consider iterating over a slice of the `Vec<char>`'s content to avoid moving into the `for` loop help: consider iterating over a slice of the `Vec<char>`'s content to avoid moving into the `for` loop
| |
LL | for l in &bad_letters { LL | for l in &bad_letters {

View File

@ -12,9 +12,6 @@ LL | let _closure = || orig;
| |
note: this function takes ownership of the receiver `self`, which moves `orig` note: this function takes ownership of the receiver `self`, which moves `orig`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
help: consider iterating over a slice of the `Vec<bool>`'s content to avoid moving into the `for` loop help: consider iterating over a slice of the `Vec<bool>`'s content to avoid moving into the `for` loop
| |
LL | for _val in &orig {} LL | for _val in &orig {}

View File

@ -15,9 +15,8 @@ LL | let x2: Vec<f64> = x1.into_iter().collect();
| ^^^^^^^^^^^ `Iterator::Item` is `&f64` here | ^^^^^^^^^^^ `Iterator::Item` is `&f64` here
note: required by a bound in `collect` note: required by a bound in `collect`
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
LL | fn collect<B: FromIterator<Self::Item>>(self) -> B $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Iterator::collect`
error[E0277]: a value of type `Vec<f64>` cannot be built from an iterator over elements of type `&f64` error[E0277]: a value of type `Vec<f64>` cannot be built from an iterator over elements of type `&f64`
--> $DIR/issue-66923-show-error-for-correct-call.rs:12:29 --> $DIR/issue-66923-show-error-for-correct-call.rs:12:29
@ -37,9 +36,8 @@ LL | let x3 = x1.into_iter().collect::<Vec<f64>>();
| ^^^^^^^^^^^ `Iterator::Item` is `&f64` here | ^^^^^^^^^^^ `Iterator::Item` is `&f64` here
note: required by a bound in `collect` note: required by a bound in `collect`
--> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL --> $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
LL | fn collect<B: FromIterator<Self::Item>>(self) -> B $SRC_DIR/core/src/iter/traits/iterator.rs:LL:COL
| ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Iterator::collect`
error: aborting due to 2 previous errors error: aborting due to 2 previous errors

Some files were not shown because too many files have changed in this diff Show More