Auto merge of #66680 - Centril:rollup-1ke3svj, r=Centril
Rollup of 5 pull requests Successful merges: - #61351 (Stabilize cfg(doc)) - #66539 (Point at type in `let` assignment on type errors) - #66655 (rustdoc: Mark `--extern-private` as unstable) - #66657 (rustdoc: Don't panic when failing to write .lock file) - #66673 (Move def collector from `rustc` to `rustc_resolve`) Failed merges: r? @ghost
This commit is contained in:
commit
ad808d95c4
119 changed files with 768 additions and 404 deletions
|
|
@ -7,4 +7,5 @@
|
|||
- [Documentation tests](documentation-tests.md)
|
||||
- [Lints](lints.md)
|
||||
- [Passes](passes.md)
|
||||
- [Advanced Features](advanced-features.md)
|
||||
- [Unstable features](unstable-features.md)
|
||||
|
|
|
|||
34
src/doc/rustdoc/src/advanced-features.md
Normal file
34
src/doc/rustdoc/src/advanced-features.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Advanced Features
|
||||
|
||||
The features listed on this page fall outside the rest of the main categories.
|
||||
|
||||
## `#[cfg(doc)]`: Documenting platform-/feature-specific information
|
||||
|
||||
For conditional compilation, Rustdoc treats your crate the same way the compiler does: Only things
|
||||
from the host target are available (or from the given `--target` if present), and everything else is
|
||||
"filtered out" from the crate. This can cause problems if your crate is providing different things
|
||||
on different targets and you want your documentation to reflect all the available items you
|
||||
provide.
|
||||
|
||||
If you want to make sure an item is seen by Rustdoc regardless of what platform it's targeting,
|
||||
you can apply `#[cfg(doc)]` to it. Rustdoc sets this whenever it's building documentation, so
|
||||
anything that uses that flag will make it into documentation it generates. To apply this to an item
|
||||
with other `#[cfg]` filters on it, you can write something like `#[cfg(any(windows, doc))]`.
|
||||
This will preserve the item either when built normally on Windows, or when being documented
|
||||
anywhere.
|
||||
|
||||
Please note that this feature is not passed to doctests.
|
||||
|
||||
Example:
|
||||
|
||||
```rust
|
||||
/// Token struct that can only be used on Windows.
|
||||
#[cfg(any(windows, doc))]
|
||||
pub struct WindowsToken;
|
||||
/// Token struct that can only be used on Unix.
|
||||
#[cfg(any(unix, doc))]
|
||||
pub struct UnixToken;
|
||||
```
|
||||
|
||||
Here, the respective tokens can only be used by dependent crates on their respective platforms, but
|
||||
they will both appear in documentation.
|
||||
|
|
@ -105,7 +105,7 @@ pub struct Definitions {
|
|||
/// we know what parent node that fragment should be attached to thanks to this table.
|
||||
invocation_parents: FxHashMap<ExpnId, DefIndex>,
|
||||
/// Indices of unnamed struct or variant fields with unresolved attributes.
|
||||
pub(super) placeholder_field_indices: NodeMap<usize>,
|
||||
placeholder_field_indices: NodeMap<usize>,
|
||||
}
|
||||
|
||||
/// A unique identifier that we can use to lookup a definition
|
||||
|
|
@ -535,6 +535,15 @@ impl Definitions {
|
|||
let old_parent = self.invocation_parents.insert(invoc_id, parent);
|
||||
assert!(old_parent.is_none(), "parent `DefIndex` is reset for an invocation");
|
||||
}
|
||||
|
||||
pub fn placeholder_field_index(&self, node_id: ast::NodeId) -> usize {
|
||||
self.placeholder_field_indices[&node_id]
|
||||
}
|
||||
|
||||
pub fn set_placeholder_field_index(&mut self, node_id: ast::NodeId, index: usize) {
|
||||
let old_index = self.placeholder_field_indices.insert(node_id, index);
|
||||
assert!(old_index.is_none(), "placeholder field index is reset for a node ID");
|
||||
}
|
||||
}
|
||||
|
||||
impl DefPathData {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
use self::collector::NodeCollector;
|
||||
pub use self::def_collector::DefCollector;
|
||||
pub use self::definitions::{
|
||||
Definitions, DefKey, DefPath, DefPathData, DisambiguatedDefPathData, DefPathHash
|
||||
};
|
||||
|
|
@ -25,7 +24,6 @@ use syntax_pos::{Span, DUMMY_SP};
|
|||
|
||||
pub mod blocks;
|
||||
mod collector;
|
||||
mod def_collector;
|
||||
pub mod definitions;
|
||||
mod hir_id_validator;
|
||||
|
||||
|
|
|
|||
|
|
@ -298,15 +298,3 @@ cfg_if! {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Lock {
|
||||
pub fn panicking_new(p: &Path,
|
||||
wait: bool,
|
||||
create: bool,
|
||||
exclusive: bool)
|
||||
-> Lock {
|
||||
Lock::new(p, wait, create, exclusive).unwrap_or_else(|err| {
|
||||
panic!("could not lock `{}`: {}", p.display(), err);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
//! unexpanded macros in the fragment are visited and registered.
|
||||
//! Imports are also considered items and placed into modules here, but not resolved yet.
|
||||
|
||||
use crate::def_collector::collect_definitions;
|
||||
use crate::macros::{LegacyBinding, LegacyScope};
|
||||
use crate::resolve_imports::ImportDirective;
|
||||
use crate::resolve_imports::ImportDirectiveSubclass::{self, GlobImport, SingleImport};
|
||||
|
|
@ -16,7 +17,6 @@ use crate::{ResolutionError, Determinacy, PathResult, CrateLint};
|
|||
use rustc::bug;
|
||||
use rustc::hir::def::{self, *};
|
||||
use rustc::hir::def_id::{CRATE_DEF_INDEX, LOCAL_CRATE, DefId};
|
||||
use rustc::hir::map::DefCollector;
|
||||
use rustc::ty;
|
||||
use rustc::middle::cstore::CrateStore;
|
||||
use rustc_metadata::cstore::LoadedMacro;
|
||||
|
|
@ -167,8 +167,7 @@ impl<'a> Resolver<'a> {
|
|||
fragment: &AstFragment,
|
||||
parent_scope: ParentScope<'a>,
|
||||
) -> LegacyScope<'a> {
|
||||
let mut def_collector = DefCollector::new(&mut self.definitions, parent_scope.expansion);
|
||||
fragment.visit_with(&mut def_collector);
|
||||
collect_definitions(&mut self.definitions, fragment, parent_scope.expansion);
|
||||
let mut visitor = BuildReducedGraphVisitor { r: self, parent_scope };
|
||||
fragment.visit_with(&mut visitor);
|
||||
visitor.parent_scope.legacy
|
||||
|
|
|
|||
|
|
@ -1,26 +1,31 @@
|
|||
use crate::hir::map::definitions::*;
|
||||
use crate::hir::def_id::DefIndex;
|
||||
|
||||
use log::debug;
|
||||
use rustc::hir::map::definitions::*;
|
||||
use rustc::hir::def_id::DefIndex;
|
||||
use syntax::ast::*;
|
||||
use syntax::visit;
|
||||
use syntax::symbol::{kw, sym};
|
||||
use syntax::token::{self, Token};
|
||||
use syntax_expand::expand::AstFragment;
|
||||
use syntax_pos::hygiene::ExpnId;
|
||||
use syntax_pos::Span;
|
||||
|
||||
crate fn collect_definitions(
|
||||
definitions: &mut Definitions,
|
||||
fragment: &AstFragment,
|
||||
expansion: ExpnId,
|
||||
) {
|
||||
let parent_def = definitions.invocation_parent(expansion);
|
||||
fragment.visit_with(&mut DefCollector { definitions, parent_def, expansion });
|
||||
}
|
||||
|
||||
/// Creates `DefId`s for nodes in the AST.
|
||||
pub struct DefCollector<'a> {
|
||||
struct DefCollector<'a> {
|
||||
definitions: &'a mut Definitions,
|
||||
parent_def: DefIndex,
|
||||
expansion: ExpnId,
|
||||
}
|
||||
|
||||
impl<'a> DefCollector<'a> {
|
||||
pub fn new(definitions: &'a mut Definitions, expansion: ExpnId) -> Self {
|
||||
let parent_def = definitions.invocation_parent(expansion);
|
||||
DefCollector { definitions, parent_def, expansion }
|
||||
}
|
||||
|
||||
fn create_def(&mut self,
|
||||
node_id: NodeId,
|
||||
data: DefPathData,
|
||||
|
|
@ -82,7 +87,7 @@ impl<'a> DefCollector<'a> {
|
|||
.or_else(|| index.map(sym::integer))
|
||||
.unwrap_or_else(|| {
|
||||
let node_id = NodeId::placeholder_from_expn_id(self.expansion);
|
||||
sym::integer(self.definitions.placeholder_field_indices[&node_id])
|
||||
sym::integer(self.definitions.placeholder_field_index(node_id))
|
||||
});
|
||||
let def = self.create_def(field.id, DefPathData::ValueNs(name), field.span);
|
||||
self.with_parent(def, |this| visit::walk_struct_field(this, field));
|
||||
|
|
@ -186,7 +191,7 @@ impl<'a> visit::Visitor<'a> for DefCollector<'a> {
|
|||
for (index, field) in data.fields().iter().enumerate() {
|
||||
self.collect_field(field, Some(index));
|
||||
if field.is_placeholder && field.ident.is_none() {
|
||||
self.definitions.placeholder_field_indices.insert(field.id, index);
|
||||
self.definitions.set_placeholder_field_index(field.id, index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -68,6 +68,7 @@ use rustc_error_codes::*;
|
|||
|
||||
type Res = def::Res<NodeId>;
|
||||
|
||||
mod def_collector;
|
||||
mod diagnostics;
|
||||
mod late;
|
||||
mod macros;
|
||||
|
|
|
|||
|
|
@ -102,12 +102,13 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
// N.B., this code relies on `self.diverges` to be accurate. In
|
||||
// particular, assignments to `!` will be permitted if the
|
||||
// diverges flag is currently "always".
|
||||
pub fn demand_coerce_diag(&self,
|
||||
expr: &hir::Expr,
|
||||
checked_ty: Ty<'tcx>,
|
||||
expected: Ty<'tcx>,
|
||||
allow_two_phase: AllowTwoPhase)
|
||||
-> (Ty<'tcx>, Option<DiagnosticBuilder<'tcx>>) {
|
||||
pub fn demand_coerce_diag(
|
||||
&self,
|
||||
expr: &hir::Expr,
|
||||
checked_ty: Ty<'tcx>,
|
||||
expected: Ty<'tcx>,
|
||||
allow_two_phase: AllowTwoPhase,
|
||||
) -> (Ty<'tcx>, Option<DiagnosticBuilder<'tcx>>) {
|
||||
let expected = self.resolve_vars_with_obligations(expected);
|
||||
|
||||
let e = match self.try_coerce(expr, checked_ty, expected, allow_two_phase) {
|
||||
|
|
@ -126,6 +127,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
return (expected, None)
|
||||
}
|
||||
|
||||
self.annotate_expected_due_to_let_ty(&mut err, expr);
|
||||
self.suggest_compatible_variants(&mut err, expr, expected, expr_ty);
|
||||
self.suggest_ref_or_into(&mut err, expr, expected, expr_ty);
|
||||
self.suggest_boxing_when_appropriate(&mut err, expr, expected, expr_ty);
|
||||
|
|
@ -134,6 +136,20 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
(expected, Some(err))
|
||||
}
|
||||
|
||||
fn annotate_expected_due_to_let_ty(&self, err: &mut DiagnosticBuilder<'_>, expr: &hir::Expr) {
|
||||
let parent = self.tcx.hir().get_parent_node(expr.hir_id);
|
||||
if let Some(hir::Node::Local(hir::Local {
|
||||
ty: Some(ty),
|
||||
init: Some(init),
|
||||
..
|
||||
})) = self.tcx.hir().find(parent) {
|
||||
if init.hir_id == expr.hir_id {
|
||||
// Point at `let` assignment type.
|
||||
err.span_label(ty.span, "expected due to this");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns whether the expected type is `bool` and the expression is `x = y`.
|
||||
pub fn is_assign_to_bool(&self, expr: &hir::Expr, expected: Ty<'tcx>) -> bool {
|
||||
if let hir::ExprKind::Assign(..) = expr.kind {
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ pub fn run_core(options: RustdocOptions) -> (clean::Crate, RenderInfo, RenderOpt
|
|||
|
||||
let extern_names: Vec<String> = externs.iter().map(|(s,_)| s).cloned().collect();
|
||||
|
||||
// Add the rustdoc cfg into the doc build.
|
||||
// Add the doc cfg into the doc build.
|
||||
cfgs.push("doc".to_string());
|
||||
|
||||
let cpath = Some(input.clone());
|
||||
|
|
|
|||
|
|
@ -546,7 +546,8 @@ fn write_shared(
|
|||
// Write out the shared files. Note that these are shared among all rustdoc
|
||||
// docs placed in the output directory, so this needs to be a synchronized
|
||||
// operation with respect to all other rustdocs running around.
|
||||
let _lock = flock::Lock::panicking_new(&cx.dst.join(".lock"), true, true, true);
|
||||
let lock_file = cx.dst.join(".lock");
|
||||
let _lock = try_err!(flock::Lock::new(&lock_file, true, true, true), &lock_file);
|
||||
|
||||
// Add all the static files. These may already exist, but we just
|
||||
// overwrite them anyway to make sure that they're fresh and up-to-date.
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ fn opts() -> Vec<RustcOptGroup> {
|
|||
stable("extern", |o| {
|
||||
o.optmulti("", "extern", "pass an --extern to rustc", "NAME[=PATH]")
|
||||
}),
|
||||
stable("extern-private", |o| {
|
||||
unstable("extern-private", |o| {
|
||||
o.optmulti("", "extern-private",
|
||||
"pass an --extern to rustc (compatibility only)", "NAME=PATH")
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ const GATED_CFGS: &[(Symbol, Symbol, GateFn)] = &[
|
|||
(sym::target_thread_local, sym::cfg_target_thread_local, cfg_fn!(cfg_target_thread_local)),
|
||||
(sym::target_has_atomic, sym::cfg_target_has_atomic, cfg_fn!(cfg_target_has_atomic)),
|
||||
(sym::target_has_atomic_load_store, sym::cfg_target_has_atomic, cfg_fn!(cfg_target_has_atomic)),
|
||||
(sym::doc, sym::doc_cfg, cfg_fn!(doc_cfg)),
|
||||
];
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
|
|||
|
|
@ -627,7 +627,6 @@ symbols! {
|
|||
rustc_test_marker,
|
||||
rustc_then_this_would_need,
|
||||
rustc_variance,
|
||||
rustdoc,
|
||||
rustfmt,
|
||||
rust_eh_personality,
|
||||
rust_eh_unwind_resume,
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/failed-doctest-missing-codes.rs:9:13
|
||||
|
|
||||
LL | let x: () = 5i32;
|
||||
| ^^^^ expected `()`, found `i32`
|
||||
| -- ^^^^ expected `()`, found `i32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
// aux-build:issue-66159-1.rs
|
||||
// compile-flags:-Z unstable-options
|
||||
// extern-private:issue_66159_1
|
||||
|
||||
// The issue was an ICE which meant that we never actually generated the docs
|
||||
|
|
|
|||
|
|
@ -2,13 +2,17 @@ error[E0308]: mismatched types
|
|||
--> $DIR/array-not-vector.rs:2:19
|
||||
|
|
||||
LL | let _x: i32 = [1, 2, 3];
|
||||
| ^^^^^^^^^ expected `i32`, found array `[{integer}; 3]`
|
||||
| --- ^^^^^^^^^ expected `i32`, found array `[{integer}; 3]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/array-not-vector.rs:7:20
|
||||
|
|
||||
LL | let _y: &i32 = x;
|
||||
| ^ expected `i32`, found slice `[i32]`
|
||||
| ---- ^ expected `i32`, found slice `[i32]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&i32`
|
||||
found reference `&[i32]`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/associated-types-eq-3.rs:23:18
|
||||
|
|
||||
LL | let _: Bar = x.boo();
|
||||
| ^^^^^^^ expected struct `Bar`, found associated type
|
||||
| --- ^^^^^^^ expected struct `Bar`, found associated type
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Bar`
|
||||
found associated type `<I as Foo>::A`
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/associated-types-path-2.rs:41:18
|
||||
|
|
||||
LL | let _: i32 = f2(2i32);
|
||||
| ^^^^^^^^ expected `i32`, found `u32`
|
||||
| --- ^^^^^^^^ expected `i32`, found `u32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `u32` to `i32` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
|
|||
|
|
@ -26,7 +26,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/variadic-ffi-1.rs:19:56
|
||||
|
|
||||
LL | let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
|
||||
| ^^^ expected non-variadic fn, found variadic function
|
||||
| ------------------------------------- ^^^ expected non-variadic fn, found variadic function
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `unsafe extern "C" fn(isize, u8)`
|
||||
found fn item `unsafe extern "C" fn(isize, u8, ...) {foo}`
|
||||
|
|
@ -35,7 +37,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/variadic-ffi-1.rs:20:54
|
||||
|
|
||||
LL | let y: extern "C" fn(f: isize, x: u8, ...) = bar;
|
||||
| ^^^ expected variadic fn, found non-variadic function
|
||||
| ----------------------------------- ^^^ expected variadic fn, found non-variadic function
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `extern "C" fn(isize, u8, ...)`
|
||||
found fn item `extern "C" fn(isize, u8) {bar}`
|
||||
|
|
|
|||
6
src/test/ui/cfg-rustdoc.rs
Normal file
6
src/test/ui/cfg-rustdoc.rs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#[cfg(doc)]
|
||||
pub struct Foo;
|
||||
|
||||
fn main() {
|
||||
let f = Foo; //~ ERROR
|
||||
}
|
||||
9
src/test/ui/cfg-rustdoc.stderr
Normal file
9
src/test/ui/cfg-rustdoc.stderr
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
error[E0425]: cannot find value `Foo` in this scope
|
||||
--> $DIR/cfg-rustdoc.rs:5:13
|
||||
|
|
||||
LL | let f = Foo;
|
||||
| ^^^ not found in this scope
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0425`.
|
||||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/closure-no-fn-1.rs:6:29
|
||||
|
|
||||
LL | let foo: fn(u8) -> u8 = |v: u8| { a += v; a };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ expected fn pointer, found closure
|
||||
| ------------ ^^^^^^^^^^^^^^^^^^^^^ expected fn pointer, found closure
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `fn(u8) -> u8`
|
||||
found closure `[closure@$DIR/closure-no-fn-1.rs:6:29: 6:50 a:_]`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/closure-no-fn-2.rs:6:27
|
||||
|
|
||||
LL | let bar: fn() -> u8 = || { b };
|
||||
| ^^^^^^^^ expected fn pointer, found closure
|
||||
| ---------- ^^^^^^^^ expected fn pointer, found closure
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `fn() -> u8`
|
||||
found closure `[closure@$DIR/closure-no-fn-2.rs:6:27: 6:35 b:_]`
|
||||
|
|
|
|||
|
|
@ -47,7 +47,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/coerce-to-bang.rs:48:21
|
||||
|
|
||||
LL | let x: [!; 2] = [return, 22];
|
||||
| ^^^^^^^^^^^^ expected `!`, found integer
|
||||
| ------ ^^^^^^^^^^^^ expected `!`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected array `[!; 2]`
|
||||
found array `[{integer}; 2]`
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/coercion-slice.rs:4:21
|
||||
|
|
||||
LL | let _: &[i32] = [0];
|
||||
| ^^^
|
||||
| |
|
||||
| expected `&[i32]`, found array `[{integer}; 1]`
|
||||
| help: consider borrowing here: `&[0]`
|
||||
| ------ ^^^
|
||||
| | |
|
||||
| | expected `&[i32]`, found array `[{integer}; 1]`
|
||||
| | help: consider borrowing here: `&[0]`
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/fn-const-param-infer.rs:16:31
|
||||
|
|
||||
LL | let _: Checked<not_one> = Checked::<not_two>;
|
||||
| ^^^^^^^^^^^^^^^^^^ expected `not_one`, found `not_two`
|
||||
| ---------------- ^^^^^^^^^^^^^^^^^^ expected `not_one`, found `not_two`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Checked<not_one>`
|
||||
found struct `Checked<not_two>`
|
||||
|
|
@ -34,7 +36,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/fn-const-param-infer.rs:25:40
|
||||
|
|
||||
LL | let _: Checked<{generic::<u32>}> = Checked::<{generic::<u16>}>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `generic::<u32>`, found `generic::<u16>`
|
||||
| ------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `generic::<u32>`, found `generic::<u16>`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Checked<generic::<u32>>`
|
||||
found struct `Checked<generic::<u16>>`
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/raw-ptr-const-param.rs:7:38
|
||||
|
|
||||
LL | let _: Const<{15 as *const _}> = Const::<{10 as *const _}>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `{pointer}`, found `{pointer}`
|
||||
| ----------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `{pointer}`, found `{pointer}`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Const<{pointer}>`
|
||||
found struct `Const<{pointer}>`
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/slice-const-param-mismatch.rs:9:35
|
||||
|
|
||||
LL | let _: ConstString<"Hello"> = ConstString::<"World">;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ expected `"Hello"`, found `"World"`
|
||||
| -------------------- ^^^^^^^^^^^^^^^^^^^^^^ expected `"Hello"`, found `"World"`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `ConstString<"Hello">`
|
||||
found struct `ConstString<"World">`
|
||||
|
|
@ -19,7 +21,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/slice-const-param-mismatch.rs:11:33
|
||||
|
|
||||
LL | let _: ConstString<"ℇ㇈↦"> = ConstString::<"ℇ㇈↥">;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ expected `"ℇ㇈↦"`, found `"ℇ㇈↥"`
|
||||
| ------------------- ^^^^^^^^^^^^^^^^^^^^^ expected `"ℇ㇈↦"`, found `"ℇ㇈↥"`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `ConstString<"ℇ㇈↦">`
|
||||
found struct `ConstString<"ℇ㇈↥">`
|
||||
|
|
@ -28,7 +32,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/slice-const-param-mismatch.rs:13:33
|
||||
|
|
||||
LL | let _: ConstBytes<b"AAA"> = ConstBytes::<b"BBB">;
|
||||
| ^^^^^^^^^^^^^^^^^^^^ expected `b"AAA"`, found `b"BBB"`
|
||||
| ------------------ ^^^^^^^^^^^^^^^^^^^^ expected `b"AAA"`, found `b"BBB"`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `ConstBytes<b"AAA">`
|
||||
found struct `ConstBytes<b"BBB">`
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/types-mismatch-const-args.rs:13:41
|
||||
|
|
||||
LL | let _: A<'a, u32, {2u32}, {3u32}> = A::<'a, u32, {4u32}, {3u32}> { data: PhantomData };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `2u32`, found `4u32`
|
||||
| -------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `2u32`, found `4u32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `A<'_, _, 2u32, _>`
|
||||
found struct `A<'_, _, 4u32, _>`
|
||||
|
|
@ -19,7 +21,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/types-mismatch-const-args.rs:15:41
|
||||
|
|
||||
LL | let _: A<'a, u16, {2u32}, {3u32}> = A::<'b, u32, {2u32}, {3u32}> { data: PhantomData };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `u32`
|
||||
| -------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `u32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `A<'a, u16, _, _>`
|
||||
found struct `A<'b, u32, _, _>`
|
||||
|
|
|
|||
|
|
@ -2,37 +2,41 @@ error[E0308]: mismatched types
|
|||
--> $DIR/conversion-methods.rs:5:41
|
||||
|
|
||||
LL | let _tis_an_instants_play: String = "'Tis a fond Ambush—";
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::string::String`, found `&str`
|
||||
| help: try using a conversion method: `"'Tis a fond Ambush—".to_string()`
|
||||
| ------ ^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::string::String`, found `&str`
|
||||
| | help: try using a conversion method: `"'Tis a fond Ambush—".to_string()`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/conversion-methods.rs:6:40
|
||||
|
|
||||
LL | let _just_to_make_bliss: PathBuf = Path::new("/ern/her/own/surprise");
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::path::PathBuf`, found `&std::path::Path`
|
||||
| help: try using a conversion method: `Path::new("/ern/her/own/surprise").to_path_buf()`
|
||||
| ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::path::PathBuf`, found `&std::path::Path`
|
||||
| | help: try using a conversion method: `Path::new("/ern/her/own/surprise").to_path_buf()`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/conversion-methods.rs:9:40
|
||||
|
|
||||
LL | let _but_should_the_play: String = 2; // Perhaps surprisingly, we suggest .to_string() here
|
||||
| ^
|
||||
| |
|
||||
| expected struct `std::string::String`, found integer
|
||||
| help: try using a conversion method: `2.to_string()`
|
||||
| ------ ^
|
||||
| | |
|
||||
| | expected struct `std::string::String`, found integer
|
||||
| | help: try using a conversion method: `2.to_string()`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/conversion-methods.rs:12:47
|
||||
|
|
||||
LL | let _prove_piercing_earnest: Vec<usize> = &[1, 2, 3];
|
||||
| ^^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::vec::Vec`, found `&[{integer}; 3]`
|
||||
| help: try using a conversion method: `(&[1, 2, 3]).to_vec()`
|
||||
| ---------- ^^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::vec::Vec`, found `&[{integer}; 3]`
|
||||
| | help: try using a conversion method: `(&[1, 2, 3]).to_vec()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `std::vec::Vec<usize>`
|
||||
found reference `&[{integer}; 3]`
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/cross-borrow-trait.rs:10:26
|
||||
|
|
||||
LL | let _y: &dyn Trait = x;
|
||||
| ^
|
||||
| |
|
||||
| expected `&dyn Trait`, found struct `std::boxed::Box`
|
||||
| help: consider borrowing here: `&x`
|
||||
| ---------- ^
|
||||
| | |
|
||||
| | expected `&dyn Trait`, found struct `std::boxed::Box`
|
||||
| | help: consider borrowing here: `&x`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&dyn Trait`
|
||||
found struct `std::boxed::Box<dyn Trait>`
|
||||
|
|
|
|||
|
|
@ -2,40 +2,47 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-53280-expected-float-found-integer-literal.rs:2:24
|
||||
|
|
||||
LL | let sixteen: f32 = 16;
|
||||
| ^^
|
||||
| |
|
||||
| expected `f32`, found integer
|
||||
| help: use a float literal: `16.0`
|
||||
| --- ^^
|
||||
| | |
|
||||
| | expected `f32`, found integer
|
||||
| | help: use a float literal: `16.0`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-53280-expected-float-found-integer-literal.rs:5:38
|
||||
|
|
||||
LL | let a_million_and_seventy: f64 = 1_000_070;
|
||||
| ^^^^^^^^^
|
||||
| |
|
||||
| expected `f64`, found integer
|
||||
| help: use a float literal: `1_000_070.0`
|
||||
| --- ^^^^^^^^^
|
||||
| | |
|
||||
| | expected `f64`, found integer
|
||||
| | help: use a float literal: `1_000_070.0`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-53280-expected-float-found-integer-literal.rs:8:30
|
||||
|
|
||||
LL | let negative_nine: f32 = -9;
|
||||
| ^^
|
||||
| |
|
||||
| expected `f32`, found integer
|
||||
| help: use a float literal: `-9.0`
|
||||
| --- ^^
|
||||
| | |
|
||||
| | expected `f32`, found integer
|
||||
| | help: use a float literal: `-9.0`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-53280-expected-float-found-integer-literal.rs:15:30
|
||||
|
|
||||
LL | let sixteen_again: f64 = 0x10;
|
||||
| ^^^^ expected `f64`, found integer
|
||||
| --- ^^^^ expected `f64`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-53280-expected-float-found-integer-literal.rs:17:30
|
||||
|
|
||||
LL | let and_once_more: f32 = 0o20;
|
||||
| ^^^^ expected `f32`, found integer
|
||||
| --- ^^^^ expected `f32`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/recursion_limit_deref.rs:50:22
|
||||
|
|
||||
LL | let x: &Bottom = &t;
|
||||
| ^^ expected struct `Bottom`, found struct `Top`
|
||||
| ------- ^^ expected struct `Bottom`, found struct `Top`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&Bottom`
|
||||
found reference `&Top`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce1.rs:16:29
|
||||
|
|
||||
LL | let f3: &Fat<[usize]> = f2;
|
||||
| ^^ expected slice `[usize]`, found array `[isize; 3]`
|
||||
| ------------- ^^ expected slice `[usize]`, found array `[isize; 3]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&Fat<[usize]>`
|
||||
found reference `&Fat<[isize; 3]>`
|
||||
|
|
@ -19,7 +21,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce1.rs:28:27
|
||||
|
|
||||
LL | let f3: &([usize],) = f2;
|
||||
| ^^ expected slice `[usize]`, found array `[isize; 3]`
|
||||
| ----------- ^^ expected slice `[usize]`, found array `[isize; 3]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&([usize],)`
|
||||
found reference `&([isize; 3],)`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce2.rs:15:33
|
||||
|
|
||||
LL | let f3: &mut Fat<[isize]> = f2;
|
||||
| ^^ types differ in mutability
|
||||
| ----------------- ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut Fat<[isize]>`
|
||||
found reference `&Fat<[isize; 3]>`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce2.rs:20:33
|
||||
|
|
||||
LL | let f3: &mut Fat<dyn Bar> = f2;
|
||||
| ^^ types differ in mutability
|
||||
| ----------------- ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut Fat<dyn Bar>`
|
||||
found reference `&Fat<Foo>`
|
||||
|
|
@ -20,7 +24,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce2.rs:25:31
|
||||
|
|
||||
LL | let f3: &mut ([isize],) = f2;
|
||||
| ^^ types differ in mutability
|
||||
| --------------- ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut ([isize],)`
|
||||
found reference `&([isize; 3],)`
|
||||
|
|
@ -29,7 +35,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce2.rs:30:31
|
||||
|
|
||||
LL | let f3: &mut (dyn Bar,) = f2;
|
||||
| ^^ types differ in mutability
|
||||
| --------------- ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut (dyn Bar,)`
|
||||
found reference `&(Foo,)`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce4.rs:12:32
|
||||
|
|
||||
LL | let f2: &Fat<[isize; 3]> = f1;
|
||||
| ^^ expected array `[isize; 3]`, found slice `[isize]`
|
||||
| ---------------- ^^ expected array `[isize; 3]`, found slice `[isize]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&Fat<[isize; 3]>`
|
||||
found reference `&Fat<[isize]>`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coerce4.rs:20:30
|
||||
|
|
||||
LL | let f2: &([isize; 3],) = f1;
|
||||
| ^^ expected array `[isize; 3]`, found slice `[isize]`
|
||||
| -------------- ^^ expected array `[isize; 3]`, found slice `[isize]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&([isize; 3],)`
|
||||
found reference `&([isize],)`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:14:17
|
||||
|
|
||||
LL | let y: &S = x;
|
||||
| ^ expected `&S`, found *-ptr
|
||||
| -- ^ expected `&S`, found *-ptr
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&S`
|
||||
found raw pointer `*const S`
|
||||
|
|
@ -11,10 +13,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:15:21
|
||||
|
|
||||
LL | let y: &dyn T = x;
|
||||
| ^
|
||||
| |
|
||||
| expected `&dyn T`, found *-ptr
|
||||
| help: consider borrowing here: `&x`
|
||||
| ------ ^
|
||||
| | |
|
||||
| | expected `&dyn T`, found *-ptr
|
||||
| | help: consider borrowing here: `&x`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&dyn T`
|
||||
found raw pointer `*const S`
|
||||
|
|
@ -23,7 +26,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:19:17
|
||||
|
|
||||
LL | let y: &S = x;
|
||||
| ^ expected `&S`, found *-ptr
|
||||
| -- ^ expected `&S`, found *-ptr
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&S`
|
||||
found raw pointer `*mut S`
|
||||
|
|
@ -32,10 +37,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:20:21
|
||||
|
|
||||
LL | let y: &dyn T = x;
|
||||
| ^
|
||||
| |
|
||||
| expected `&dyn T`, found *-ptr
|
||||
| help: consider borrowing here: `&x`
|
||||
| ------ ^
|
||||
| | |
|
||||
| | expected `&dyn T`, found *-ptr
|
||||
| | help: consider borrowing here: `&x`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&dyn T`
|
||||
found raw pointer `*mut S`
|
||||
|
|
@ -44,7 +50,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:23:25
|
||||
|
|
||||
LL | let x: &mut dyn T = &S;
|
||||
| ^^ types differ in mutability
|
||||
| ---------- ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut dyn T`
|
||||
found reference `&S`
|
||||
|
|
@ -53,7 +61,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:24:25
|
||||
|
|
||||
LL | let x: *mut dyn T = &S;
|
||||
| ^^ types differ in mutability
|
||||
| ---------- ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected raw pointer `*mut dyn T`
|
||||
found reference `&S`
|
||||
|
|
@ -62,7 +72,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/dst-bad-coercions.rs:25:21
|
||||
|
|
||||
LL | let x: *mut S = &S;
|
||||
| ^^ types differ in mutability
|
||||
| ------ ^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected raw pointer `*mut S`
|
||||
found reference `&S`
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
#[cfg(doc)] //~ ERROR: `cfg(doc)` is experimental and subject to change
|
||||
pub struct SomeStruct;
|
||||
|
||||
fn main() {}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
error[E0658]: `cfg(doc)` is experimental and subject to change
|
||||
--> $DIR/feature-gate-doc_cfg-cfg-rustdoc.rs:1:7
|
||||
|
|
||||
LL | #[cfg(doc)]
|
||||
| ^^^
|
||||
|
|
||||
= note: for more information, see https://github.com/rust-lang/rust/issues/43781
|
||||
= help: add `#![feature(doc_cfg)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
||||
|
|
@ -2,16 +2,19 @@ error[E0308]: mismatched types
|
|||
--> $DIR/float-literal-inference-restrictions.rs:2:18
|
||||
|
|
||||
LL | let x: f32 = 1;
|
||||
| ^
|
||||
| |
|
||||
| expected `f32`, found integer
|
||||
| help: use a float literal: `1.0`
|
||||
| --- ^
|
||||
| | |
|
||||
| | expected `f32`, found integer
|
||||
| | help: use a float literal: `1.0`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/float-literal-inference-restrictions.rs:3:18
|
||||
|
|
||||
LL | let y: f32 = 1f64;
|
||||
| ^^^^ expected `f32`, found `f64`
|
||||
| --- ^^^^ expected `f32`, found `f64`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: change the type of the numeric literal from `f64` to `f32`
|
||||
|
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/fn-trait-formatting.rs:6:17
|
||||
|
|
||||
LL | let _: () = (box |_: isize| {}) as Box<dyn FnOnce(isize)>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `std::boxed::Box`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `std::boxed::Box`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found struct `std::boxed::Box<dyn std::ops::FnOnce(isize)>`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/fn-trait-formatting.rs:10:17
|
||||
|
|
||||
LL | let _: () = (box |_: isize, isize| {}) as Box<dyn Fn(isize, isize)>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `std::boxed::Box`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `std::boxed::Box`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found struct `std::boxed::Box<dyn std::ops::Fn(isize, isize)>`
|
||||
|
|
@ -20,7 +24,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/fn-trait-formatting.rs:14:17
|
||||
|
|
||||
LL | let _: () = (box || -> isize { unimplemented!() }) as Box<dyn FnMut() -> isize>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `std::boxed::Box`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found struct `std::boxed::Box`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found struct `std::boxed::Box<dyn std::ops::FnMut() -> isize>`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/generic-type-params-name-repr.rs:13:25
|
||||
|
|
||||
LL | let _: Foo<isize> = ();
|
||||
| ^^ expected struct `Foo`, found `()`
|
||||
| ---------- ^^ expected struct `Foo`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Foo<isize>`
|
||||
found unit type `()`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/generic-type-params-name-repr.rs:20:31
|
||||
|
|
||||
LL | let _: Foo<isize, B, C> = ();
|
||||
| ^^ expected struct `Foo`, found `()`
|
||||
| ---------------- ^^ expected struct `Foo`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Foo<isize>`
|
||||
found unit type `()`
|
||||
|
|
@ -20,7 +24,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/generic-type-params-name-repr.rs:27:37
|
||||
|
|
||||
LL | let _: HashMap<String, isize> = ();
|
||||
| ^^ expected struct `HashMap`, found `()`
|
||||
| ---------------------- ^^ expected struct `HashMap`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `HashMap<std::string::String, isize>`
|
||||
found unit type `()`
|
||||
|
|
@ -29,7 +35,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/generic-type-params-name-repr.rs:32:51
|
||||
|
|
||||
LL | let _: HashMap<String, isize, Hash<String>> = ();
|
||||
| ^^ expected struct `HashMap`, found `()`
|
||||
| ------------------------------------ ^^ expected struct `HashMap`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `HashMap<std::string::String, isize>`
|
||||
found unit type `()`
|
||||
|
|
@ -38,7 +46,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/generic-type-params-name-repr.rs:39:31
|
||||
|
|
||||
LL | let _: Foo<A, isize, C> = ();
|
||||
| ^^ expected struct `Foo`, found `()`
|
||||
| ---------------- ^^ expected struct `Foo`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Foo<A, isize>`
|
||||
found unit type `()`
|
||||
|
|
@ -47,7 +57,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/generic-type-params-name-repr.rs:46:27
|
||||
|
|
||||
LL | let _: Foo<A, B, C> = ();
|
||||
| ^^ expected struct `Foo`, found `()`
|
||||
| ------------ ^^ expected struct `Foo`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Foo`
|
||||
found unit type `()`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/hrtb-exists-forall-fn.rs:17:34
|
||||
|
|
||||
LL | let _: for<'b> fn(&'b u32) = foo();
|
||||
| ^^^^^ expected concrete lifetime, found bound lifetime parameter 'b
|
||||
| ------------------- ^^^^^ expected concrete lifetime, found bound lifetime parameter 'b
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'b> fn(&'b u32)`
|
||||
found fn pointer `fn(&u32)`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/equality2.rs:25:18
|
||||
|
|
||||
LL | let _: u32 = hide(0_u32);
|
||||
| ^^^^^^^^^^^ expected `u32`, found opaque type
|
||||
| --- ^^^^^^^^^^^ expected `u32`, found opaque type
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `u32`
|
||||
found opaque type `impl Foo`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/equality2.rs:31:18
|
||||
|
|
||||
LL | let _: i32 = Leak::leak(hide(0_i32));
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found associated type
|
||||
| --- ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found associated type
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `i32`
|
||||
found associated type `<impl Foo as Leak>::T`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/mismatched-types.rs:2:20
|
||||
|
|
||||
LL | let b: &[u8] = include_str!("file.txt");
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ expected slice `[u8]`, found `str`
|
||||
| ----- ^^^^^^^^^^^^^^^^^^^^^^^^ expected slice `[u8]`, found `str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&[u8]`
|
||||
found reference `&'static str`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/mismatched-types.rs:3:19
|
||||
|
|
||||
LL | let s: &str = include_bytes!("file.txt");
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `str`, found array `[u8; 0]`
|
||||
| ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `str`, found array `[u8; 0]`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&str`
|
||||
found reference `&'static [u8; 0]`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-1362.rs:4:16
|
||||
|
|
||||
LL | let x: u32 = 20i32;
|
||||
| ^^^^^ expected `u32`, found `i32`
|
||||
| --- ^^^^^ expected `u32`, found `i32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: change the type of the numeric literal from `i32` to `u32`
|
||||
|
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-22684.rs:17:17
|
||||
|
|
||||
LL | let _: () = foo::Foo.bar();
|
||||
| ^^^^^^^^^^^^^^ expected `()`, found `bool`
|
||||
| -- ^^^^^^^^^^^^^^ expected `()`, found `bool`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-24322.rs:8:29
|
||||
|
|
||||
LL | let x: &fn(&B) -> u32 = &B::func;
|
||||
| ^^^^^^^^ expected fn pointer, found fn item
|
||||
| -------------- ^^^^^^^^ expected fn pointer, found fn item
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&for<'r> fn(&'r B) -> u32`
|
||||
found reference `&for<'r> fn(&'r B) -> u32 {B::func}`
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ LL | loop { break };
|
|||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-27042.rs:8:9
|
||||
|
|
||||
LL | let _: i32 =
|
||||
| --- expected due to this
|
||||
LL | / 'b:
|
||||
LL | |
|
||||
LL | | while true { break }; // but here we cite the whole loop
|
||||
|
|
@ -35,6 +37,8 @@ LL | | for _ in None { break }; // but here we cite the whole loop
|
|||
error[E0308]: mismatched types
|
||||
--> $DIR/issue-27042.rs:15:9
|
||||
|
|
||||
LL | let _: i32 =
|
||||
| --- expected due to this
|
||||
LL | / 'd:
|
||||
LL | | while let Some(_) = None { break };
|
||||
| |__________________________________________^ expected `i32`, found `()`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-3477.rs:2:20
|
||||
|
|
||||
LL | let _p: char = 100;
|
||||
| ^^^ expected `char`, found `u8`
|
||||
| ---- ^^^ expected `char`, found `u8`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-37665.rs:10:17
|
||||
|
|
||||
LL | let x: () = 0;
|
||||
| ^ expected `()`, found integer
|
||||
| -- ^ expected `()`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-38940.rs:43:22
|
||||
|
|
||||
LL | let x: &Bottom = &t;
|
||||
| ^^ expected struct `Bottom`, found struct `Top`
|
||||
| ------- ^^ expected struct `Bottom`, found struct `Top`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&Bottom`
|
||||
found reference `&Top`
|
||||
|
|
|
|||
|
|
@ -57,7 +57,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-5100.rs:55:19
|
||||
|
|
||||
LL | let x: char = true;
|
||||
| ^^^^ expected `char`, found `bool`
|
||||
| ---- ^^^^ expected `char`, found `bool`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-53692.rs:4:37
|
||||
|
|
||||
LL | let items_clone: Vec<i32> = ref_items.clone();
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::vec::Vec`, found `&[i32]`
|
||||
| help: try using a conversion method: `ref_items.to_vec()`
|
||||
| -------- ^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::vec::Vec`, found `&[i32]`
|
||||
| | help: try using a conversion method: `ref_items.to_vec()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `std::vec::Vec<i32>`
|
||||
found reference `&[i32]`
|
||||
|
|
@ -14,10 +15,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-53692.rs:11:30
|
||||
|
|
||||
LL | let string: String = s.clone();
|
||||
| ^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::string::String`, found `&str`
|
||||
| help: try using a conversion method: `s.to_string()`
|
||||
| ------ ^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::string::String`, found `&str`
|
||||
| | help: try using a conversion method: `s.to_string()`
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-56943.rs:6:29
|
||||
|
|
||||
LL | let _: issue_56943::S = issue_56943::S2;
|
||||
| ^^^^^^^^^^^^^^^ expected struct `issue_56943::S`, found struct `issue_56943::S2`
|
||||
| -------------- ^^^^^^^^^^^^^^^ expected struct `issue_56943::S`, found struct `issue_56943::S2`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:17:22: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":612,"byte_end":618,"line_start":17,"line_end":17,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:17:22: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"mismatched types","code":{"code":"E0308","explanation":"This error occurs when the compiler was unable to infer the concrete type of a
|
||||
variable. It can occur for several cases, the most common of which is a
|
||||
|
|
@ -34,7 +34,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:19:22: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":672,"byte_end":678,"line_start":19,"line_end":19,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = 1","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:19:22: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"mismatched types","code":{"code":"E0308","explanation":"This error occurs when the compiler was unable to infer the concrete type of a
|
||||
variable. It can occur for several cases, the most common of which is a
|
||||
|
|
@ -53,7 +53,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:23:1: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":735,"byte_end":741,"line_start":22,"line_end":22,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String =","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:23:1: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"mismatched types","code":{"code":"E0308","explanation":"This error occurs when the compiler was unable to infer the concrete type of a
|
||||
variable. It can occur for several cases, the most common of which is a
|
||||
|
|
@ -72,7 +72,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":801,"byte_end":809,"line_start":25,"line_end":26,"column_start":22,"column_end":6,"is_primary":true,"text":[{"text":" let s : String = (","highlight_start":22,"highlight_end":23},{"text":" ); // Error spanning the newline.","highlight_start":1,"highlight_end":6}],"label":"expected struct `std::string::String`, found `()`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:25:22: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":801,"byte_end":809,"line_start":25,"line_end":26,"column_start":22,"column_end":6,"is_primary":true,"text":[{"text":" let s : String = (","highlight_start":22,"highlight_end":23},{"text":" ); // Error spanning the newline.","highlight_start":1,"highlight_end":6}],"label":"expected struct `std::string::String`, found `()`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":792,"byte_end":798,"line_start":25,"line_end":25,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = (","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:25:22: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors
|
||||
"}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf.rs:17:22: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":612,"byte_end":618,"line_start":17,"line_end":17,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf.rs:17:22: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"mismatched types","code":{"code":"E0308","explanation":"This error occurs when the compiler was unable to infer the concrete type of a
|
||||
variable. It can occur for several cases, the most common of which is a
|
||||
|
|
@ -34,7 +34,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf.rs:19:22: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":672,"byte_end":678,"line_start":19,"line_end":19,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = 1","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf.rs:19:22: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"mismatched types","code":{"code":"E0308","explanation":"This error occurs when the compiler was unable to infer the concrete type of a
|
||||
variable. It can occur for several cases, the most common of which is a
|
||||
|
|
@ -53,7 +53,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf.rs:23:1: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":"expected struct `std::string::String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":735,"byte_end":741,"line_start":22,"line_end":22,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String =","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf.rs:23:1: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"mismatched types","code":{"code":"E0308","explanation":"This error occurs when the compiler was unable to infer the concrete type of a
|
||||
variable. It can occur for several cases, the most common of which is a
|
||||
|
|
@ -72,7 +72,7 @@ let x: i32 = \"I am not a number!\";
|
|||
// |
|
||||
// type `i32` assigned to variable `x`
|
||||
```
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":801,"byte_end":809,"line_start":25,"line_end":26,"column_start":22,"column_end":6,"is_primary":true,"text":[{"text":" let s : String = (","highlight_start":22,"highlight_end":23},{"text":" ); // Error spanning the newline.","highlight_start":1,"highlight_end":6}],"label":"expected struct `std::string::String`, found `()`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"$DIR/json-bom-plus-crlf.rs:25:22: error[E0308]: mismatched types
|
||||
"},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":801,"byte_end":809,"line_start":25,"line_end":26,"column_start":22,"column_end":6,"is_primary":true,"text":[{"text":" let s : String = (","highlight_start":22,"highlight_end":23},{"text":" ); // Error spanning the newline.","highlight_start":1,"highlight_end":6}],"label":"expected struct `std::string::String`, found `()`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf.rs","byte_start":792,"byte_end":798,"line_start":25,"line_end":25,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = (","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"$DIR/json-bom-plus-crlf.rs:25:22: error[E0308]: mismatched types
|
||||
"}
|
||||
{"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors
|
||||
"}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/meta-expected-error-correct-rev.rs:7:18
|
||||
|
|
||||
LL | let x: u32 = 22_usize;
|
||||
| ^^^^^^^^ expected `u32`, found `usize`
|
||||
| --- ^^^^^^^^ expected `u32`, found `usize`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: change the type of the numeric literal from `usize` to `u32`
|
||||
|
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/method-ambig-one-trait-unknown-int-type.rs:33:20
|
||||
|
|
||||
LL | let y: usize = x.foo();
|
||||
| ^^^^^^^ expected `usize`, found `isize`
|
||||
| ----- ^^^^^^^ expected `usize`, found `isize`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `isize` to `usize` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
|
|||
|
|
@ -2,13 +2,17 @@ error[E0308]: mismatched types
|
|||
--> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:85:24
|
||||
|
|
||||
LL | let _seetype: () = z;
|
||||
| ^ expected `()`, found `u32`
|
||||
| -- ^ expected `()`, found `u32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:102:24
|
||||
|
|
||||
LL | let _seetype: () = z;
|
||||
| ^ expected `()`, found `u64`
|
||||
| -- ^ expected `()`, found `u64`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0034]: multiple applicable items in scope
|
||||
--> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:120:15
|
||||
|
|
@ -39,19 +43,25 @@ error[E0308]: mismatched types
|
|||
--> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:137:24
|
||||
|
|
||||
LL | let _seetype: () = z;
|
||||
| ^ expected `()`, found `u8`
|
||||
| -- ^ expected `()`, found `u8`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:155:24
|
||||
|
|
||||
LL | let _seetype: () = z;
|
||||
| ^ expected `()`, found `u32`
|
||||
| -- ^ expected `()`, found `u32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/method-deref-to-same-trait-object-with-separate-params.rs:172:24
|
||||
|
|
||||
LL | let _seetype: () = z;
|
||||
| ^ expected `()`, found `u32`
|
||||
| -- ^ expected `()`, found `u32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 6 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/mir-unpretty.rs:4:17
|
||||
|
|
||||
LL | let x: () = 0;
|
||||
| ^ expected `()`, found integer
|
||||
| -- ^ expected `()`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/main.rs:2:18
|
||||
|
|
||||
LL | let x: u32 = (
|
||||
| __________________^
|
||||
| ____________---___^
|
||||
| | |
|
||||
| | expected due to this
|
||||
LL | | );
|
||||
| |_____^ expected `u32`, found `()`
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/never-assign-wrong-type.rs:6:16
|
||||
|
|
||||
LL | let x: ! = "hello";
|
||||
| ^^^^^^^ expected `!`, found `&str`
|
||||
| - ^^^^^^^ expected `!`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `!`
|
||||
found reference `&'static str`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/noexporttypeexe.rs:10:18
|
||||
|
|
||||
LL | let x: isize = noexporttypelib::foo();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found enum `std::option::Option`
|
||||
| ----- ^^^^^^^^^^^^^^^^^^^^^^ expected `isize`, found enum `std::option::Option`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `isize`
|
||||
found enum `std::option::Option<isize>`
|
||||
|
|
|
|||
|
|
@ -14,19 +14,25 @@ error[E0308]: mismatched types
|
|||
--> $DIR/const-scope.rs:5:18
|
||||
|
|
||||
LL | let c: i32 = 1i8;
|
||||
| ^^^ expected `i32`, found `i8`
|
||||
| --- ^^^ expected `i32`, found `i8`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/const-scope.rs:6:17
|
||||
|
|
||||
LL | let d: i8 = c;
|
||||
| ^ expected `i8`, found `i32`
|
||||
| -- ^ expected `i8`, found `i32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/const-scope.rs:10:18
|
||||
|
|
||||
LL | let c: i32 = 1i8;
|
||||
| ^^^ expected `i32`, found `i8`
|
||||
| --- ^^^ expected `i32`, found `i8`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: change the type of the numeric literal from `i8` to `i32`
|
||||
|
|
||||
|
|
@ -37,7 +43,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/const-scope.rs:11:17
|
||||
|
|
||||
LL | let d: i8 = c;
|
||||
| ^ expected `i8`, found `i32`
|
||||
| -- ^ expected `i8`, found `i32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `i32` to `i8` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/numeric-cast-2.rs:5:18
|
||||
|
|
||||
LL | let x: u16 = foo();
|
||||
| ^^^^^ expected `u16`, found `i32`
|
||||
| --- ^^^^^ expected `u16`, found `i32`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `i32` to `u16` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
@ -13,7 +15,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/numeric-cast-2.rs:7:18
|
||||
|
|
||||
LL | let y: i64 = x + x;
|
||||
| ^^^^^ expected `i64`, found `u16`
|
||||
| --- ^^^^^ expected `i64`, found `u16`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `u16` to `i64` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
@ -24,7 +28,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/numeric-cast-2.rs:9:18
|
||||
|
|
||||
LL | let z: i32 = x + x;
|
||||
| ^^^^^ expected `i32`, found `u16`
|
||||
| --- ^^^^^ expected `i32`, found `u16`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `u16` to `i32` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/issue-64879-trailing-before-guard.rs:12:42
|
||||
|
|
||||
LL | let recovery_witness: bool = 0;
|
||||
| ^ expected `bool`, found integer
|
||||
| ---- ^ expected `bool`, found integer
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -118,10 +118,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/or-patterns-syntactic-fail.rs:52:36
|
||||
|
|
||||
LL | let recovery_witness: String = 0;
|
||||
| ^
|
||||
| |
|
||||
| expected struct `std::string::String`, found integer
|
||||
| help: try using a conversion method: `0.to_string()`
|
||||
| ------ ^
|
||||
| | |
|
||||
| | expected struct `std::string::String`, found integer
|
||||
| | help: try using a conversion method: `0.to_string()`
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 16 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/lex-bad-char-literals-6.rs:15:20
|
||||
|
|
||||
LL | let a: usize = "";
|
||||
| ^^ expected `usize`, found `&str`
|
||||
| ----- ^^ expected `usize`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0277]: can't compare `&str` with `char`
|
||||
--> $DIR/lex-bad-char-literals-6.rs:12:10
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/numeric-lifetime.rs:6:20
|
||||
|
|
||||
LL | let x: usize = "";
|
||||
| ^^ expected `usize`, found `&str`
|
||||
| ----- ^^ expected `usize`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/recover-from-homoglyph.rs:3:20
|
||||
|
|
||||
LL | let x: usize = ();
|
||||
| ^^ expected `usize`, found `()`
|
||||
| ----- ^^ expected `usize`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,17 @@ error[E0308]: mismatched types
|
|||
--> $DIR/recover-missing-semi.rs:2:20
|
||||
|
|
||||
LL | let _: usize = ()
|
||||
| ^^ expected `usize`, found `()`
|
||||
| ----- ^^ expected `usize`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/recover-missing-semi.rs:9:20
|
||||
|
|
||||
LL | let _: usize = ()
|
||||
| ^^ expected `usize`, found `()`
|
||||
| ----- ^^ expected `usize`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/recover-tuple.rs:6:20
|
||||
|
|
||||
LL | let y: usize = "";
|
||||
| ^^ expected `usize`, found `&str`
|
||||
| ----- ^^ expected `usize`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/unclosed-delimiter-in-dep.rs:4:20
|
||||
|
|
||||
LL | let _: usize = unclosed_delim_mod::new();
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found enum `std::result::Result`
|
||||
| ----- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found enum `std::result::Result`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found enum `std::result::Result<unclosed_delim_mod::Value, ()>`
|
||||
|
|
|
|||
|
|
@ -2,13 +2,17 @@ error[E0308]: mismatched types
|
|||
--> $DIR/attribute-spans-preserved.rs:7:23
|
||||
|
|
||||
LL | #[ foo ( let y: u32 = "z"; ) ]
|
||||
| ^^^ expected `u32`, found `&str`
|
||||
| --- ^^^ expected `u32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/attribute-spans-preserved.rs:8:23
|
||||
|
|
||||
LL | #[ bar { let x: u32 = "y"; } ]
|
||||
| ^^^ expected `u32`, found `&str`
|
||||
| --- ^^^ expected `u32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,25 +2,33 @@ error[E0308]: mismatched types
|
|||
--> $DIR/attribute-with-error.rs:10:18
|
||||
|
|
||||
LL | let a: i32 = "foo";
|
||||
| ^^^^^ expected `i32`, found `&str`
|
||||
| --- ^^^^^ expected `i32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/attribute-with-error.rs:12:18
|
||||
|
|
||||
LL | let b: i32 = "f'oo";
|
||||
| ^^^^^^ expected `i32`, found `&str`
|
||||
| --- ^^^^^^ expected `i32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/attribute-with-error.rs:25:22
|
||||
|
|
||||
LL | let a: i32 = "foo";
|
||||
| ^^^^^ expected `i32`, found `&str`
|
||||
| --- ^^^^^ expected `i32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/attribute-with-error.rs:35:22
|
||||
|
|
||||
LL | let a: i32 = "foo";
|
||||
| ^^^^^ expected `i32`, found `&str`
|
||||
| --- ^^^^^ expected `i32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,17 @@ error[E0308]: mismatched types
|
|||
--> $DIR/nested-item-spans.rs:9:22
|
||||
|
|
||||
LL | let x: u32 = "x";
|
||||
| ^^^ expected `u32`, found `&str`
|
||||
| --- ^^^ expected `u32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/nested-item-spans.rs:18:22
|
||||
|
|
||||
LL | let x: u32 = "x";
|
||||
| ^^^ expected `u32`, found `&str`
|
||||
| --- ^^^ expected `u32`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/span-preservation.rs:11:20
|
||||
|
|
||||
LL | let x: usize = "hello";
|
||||
| ^^^^^^^ expected `usize`, found `&str`
|
||||
| ----- ^^^^^^^ expected `usize`, found `&str`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/span-preservation.rs:17:29
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/ptr-coercion.rs:7:25
|
||||
|
|
||||
LL | let x: *mut isize = x;
|
||||
| ^ types differ in mutability
|
||||
| ---------- ^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected raw pointer `*mut isize`
|
||||
found raw pointer `*const isize`
|
||||
|
|
@ -11,7 +13,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/ptr-coercion.rs:13:25
|
||||
|
|
||||
LL | let x: *mut isize = &42;
|
||||
| ^^^ types differ in mutability
|
||||
| ---------- ^^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected raw pointer `*mut isize`
|
||||
found reference `&isize`
|
||||
|
|
@ -20,7 +24,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/ptr-coercion.rs:19:25
|
||||
|
|
||||
LL | let x: *mut isize = x;
|
||||
| ^ types differ in mutability
|
||||
| ---------- ^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected raw pointer `*mut isize`
|
||||
found raw pointer `*const isize`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/region-lifetime-bounds-on-fns-where-clause.rs:20:43
|
||||
|
|
||||
LL | let _: fn(&mut &isize, &mut &isize) = a;
|
||||
| ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| ---------------------------- ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'r, 's, 't0, 't1> fn(&'r mut &'s isize, &'t0 mut &'t1 isize)`
|
||||
found fn item `for<'r, 's> fn(&'r mut &isize, &'s mut &isize) {a::<'_, '_>}`
|
||||
|
|
|
|||
|
|
@ -20,7 +20,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/region-lifetime-bounds-on-fns-where-clause.rs:20:43
|
||||
|
|
||||
LL | let _: fn(&mut &isize, &mut &isize) = a;
|
||||
| ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| ---------------------------- ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'r, 's, 't0, 't1> fn(&'r mut &'s isize, &'t0 mut &'t1 isize)`
|
||||
found fn item `for<'r, 's> fn(&'r mut &isize, &'s mut &isize) {a::<'_, '_>}`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/region-multiple-lifetime-bounds-on-fns-where-clause.rs:22:56
|
||||
|
|
||||
LL | let _: fn(&mut &isize, &mut &isize, &mut &isize) = a;
|
||||
| ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| ----------------------------------------- ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'r, 's, 't0, 't1, 't2, 't3> fn(&'r mut &'s isize, &'t0 mut &'t1 isize, &'t2 mut &'t3 isize)`
|
||||
found fn item `for<'r, 's, 't0> fn(&'r mut &isize, &'s mut &isize, &'t0 mut &isize) {a::<'_, '_, '_>}`
|
||||
|
|
|
|||
|
|
@ -31,7 +31,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/region-multiple-lifetime-bounds-on-fns-where-clause.rs:22:56
|
||||
|
|
||||
LL | let _: fn(&mut &isize, &mut &isize, &mut &isize) = a;
|
||||
| ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| ----------------------------------------- ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'r, 's, 't0, 't1, 't2, 't3> fn(&'r mut &'s isize, &'t0 mut &'t1 isize, &'t2 mut &'t3 isize)`
|
||||
found fn item `for<'r, 's, 't0> fn(&'r mut &isize, &'s mut &isize, &'t0 mut &isize) {a::<'_, '_, '_>}`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/regions-lifetime-bounds-on-fns.rs:20:43
|
||||
|
|
||||
LL | let _: fn(&mut &isize, &mut &isize) = a;
|
||||
| ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| ---------------------------- ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'r, 's, 't0, 't1> fn(&'r mut &'s isize, &'t0 mut &'t1 isize)`
|
||||
found fn item `for<'r, 's> fn(&'r mut &isize, &'s mut &isize) {a::<'_, '_>}`
|
||||
|
|
|
|||
|
|
@ -20,7 +20,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/regions-lifetime-bounds-on-fns.rs:20:43
|
||||
|
|
||||
LL | let _: fn(&mut &isize, &mut &isize) = a;
|
||||
| ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| ---------------------------- ^ expected concrete lifetime, found bound lifetime parameter
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `for<'r, 's, 't0, 't1> fn(&'r mut &'s isize, &'t0 mut &'t1 isize)`
|
||||
found fn item `for<'r, 's> fn(&'r mut &isize, &'s mut &isize) {a::<'_, '_>}`
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ error[E0308]: cannot coerce intrinsics to function pointers
|
|||
--> $DIR/reify-intrinsic.rs:6:64
|
||||
|
|
||||
LL | let _: unsafe extern "rust-intrinsic" fn(isize) -> usize = std::mem::transmute;
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| cannot coerce intrinsics to function pointers
|
||||
| help: use parentheses to call this function: `std::mem::transmute(...)`
|
||||
| ------------------------------------------------- ^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | cannot coerce intrinsics to function pointers
|
||||
| | help: use parentheses to call this function: `std::mem::transmute(...)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected fn pointer `unsafe extern "rust-intrinsic" fn(isize) -> usize`
|
||||
found fn item `unsafe extern "rust-intrinsic" fn(_) -> _ {std::intrinsics::transmute::<_, _>}`
|
||||
|
|
|
|||
|
|
@ -280,10 +280,11 @@ LL | Fn(u8),
|
|||
| ------ fn(u8) -> m::n::Z {m::n::Z::Fn} defined here
|
||||
...
|
||||
LL | let _: Z = Z::Fn;
|
||||
| ^^^^^
|
||||
| |
|
||||
| expected enum `m::n::Z`, found fn item
|
||||
| help: use parentheses to instantiate this tuple variant: `Z::Fn(_)`
|
||||
| - ^^^^^
|
||||
| | |
|
||||
| | expected enum `m::n::Z`, found fn item
|
||||
| | help: use parentheses to instantiate this tuple variant: `Z::Fn(_)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `m::n::Z`
|
||||
found fn item `fn(u8) -> m::n::Z {m::n::Z::Fn}`
|
||||
|
|
@ -311,10 +312,11 @@ LL | Fn(u8),
|
|||
| ------ fn(u8) -> m::E {m::E::Fn} defined here
|
||||
...
|
||||
LL | let _: E = m::E::Fn;
|
||||
| ^^^^^^^^
|
||||
| |
|
||||
| expected enum `m::E`, found fn item
|
||||
| help: use parentheses to instantiate this tuple variant: `m::E::Fn(_)`
|
||||
| - ^^^^^^^^
|
||||
| | |
|
||||
| | expected enum `m::E`, found fn item
|
||||
| | help: use parentheses to instantiate this tuple variant: `m::E::Fn(_)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `m::E`
|
||||
found fn item `fn(u8) -> m::E {m::E::Fn}`
|
||||
|
|
@ -342,10 +344,11 @@ LL | Fn(u8),
|
|||
| ------ fn(u8) -> m::E {m::E::Fn} defined here
|
||||
...
|
||||
LL | let _: E = E::Fn;
|
||||
| ^^^^^
|
||||
| |
|
||||
| expected enum `m::E`, found fn item
|
||||
| help: use parentheses to instantiate this tuple variant: `E::Fn(_)`
|
||||
| - ^^^^^
|
||||
| | |
|
||||
| | expected enum `m::E`, found fn item
|
||||
| | help: use parentheses to instantiate this tuple variant: `E::Fn(_)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `m::E`
|
||||
found fn item `fn(u8) -> m::E {m::E::Fn}`
|
||||
|
|
|
|||
|
|
@ -26,7 +26,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/shift-various-bad-types.rs:25:18
|
||||
|
|
||||
LL | let _: i32 = 22_i64 >> 1_i32;
|
||||
| ^^^^^^^^^^^^^^^ expected `i32`, found `i64`
|
||||
| --- ^^^^^^^^^^^^^^^ expected `i32`, found `i64`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
help: you can convert an `i64` to `i32` and panic if the converted value wouldn't fit
|
||||
|
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/slice-mut.rs:7:22
|
||||
|
|
||||
LL | let y: &mut[_] = &x[2..4];
|
||||
| ^^^^^^^^ types differ in mutability
|
||||
| ------- ^^^^^^^^ types differ in mutability
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut [_]`
|
||||
found reference `&[isize]`
|
||||
|
|
|
|||
|
|
@ -2,16 +2,19 @@ error[E0308]: mismatched types
|
|||
--> $DIR/coerce-suggestions.rs:7:20
|
||||
|
|
||||
LL | let x: usize = String::new();
|
||||
| ^^^^^^^^^^^^^ expected `usize`, found struct `std::string::String`
|
||||
| ----- ^^^^^^^^^^^^^ expected `usize`, found struct `std::string::String`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/coerce-suggestions.rs:9:19
|
||||
|
|
||||
LL | let x: &str = String::new();
|
||||
| ^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `&str`, found struct `std::string::String`
|
||||
| help: consider borrowing here: `&String::new()`
|
||||
| ---- ^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `&str`, found struct `std::string::String`
|
||||
| | help: consider borrowing here: `&String::new()`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/coerce-suggestions.rs:12:10
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/move-closure.rs:5:17
|
||||
|
|
||||
LL | let x: () = move || ();
|
||||
| ^^^^^^^^^^ expected `()`, found closure
|
||||
| -- ^^^^^^^^^^ expected `()`, found closure
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found closure `[closure@$DIR/move-closure.rs:5:17: 5:27]`
|
||||
|
|
|
|||
|
|
@ -32,10 +32,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/str-array-assignment.rs:9:17
|
||||
|
|
||||
LL | let w: &str = s[..2];
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `&str`, found `str`
|
||||
| help: consider borrowing here: `&s[..2]`
|
||||
| ---- ^^^^^^
|
||||
| | |
|
||||
| | expected `&str`, found `str`
|
||||
| | help: consider borrowing here: `&s[..2]`
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/str-lit-type-mismatch.rs:2:20
|
||||
|
|
||||
LL | let x: &[u8] = "foo";
|
||||
| ^^^^^
|
||||
| |
|
||||
| expected slice `[u8]`, found `str`
|
||||
| help: consider adding a leading `b`: `b"foo"`
|
||||
| ----- ^^^^^
|
||||
| | |
|
||||
| | expected slice `[u8]`, found `str`
|
||||
| | help: consider adding a leading `b`: `b"foo"`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&[u8]`
|
||||
found reference `&'static str`
|
||||
|
|
@ -14,10 +15,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/str-lit-type-mismatch.rs:3:23
|
||||
|
|
||||
LL | let y: &[u8; 4] = "baaa";
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected array `[u8; 4]`, found `str`
|
||||
| help: consider adding a leading `b`: `b"baaa"`
|
||||
| -------- ^^^^^^
|
||||
| | |
|
||||
| | expected array `[u8; 4]`, found `str`
|
||||
| | help: consider adding a leading `b`: `b"baaa"`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&[u8; 4]`
|
||||
found reference `&'static str`
|
||||
|
|
@ -26,10 +28,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/str-lit-type-mismatch.rs:4:19
|
||||
|
|
||||
LL | let z: &str = b"foo";
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `str`, found array `[u8; 3]`
|
||||
| help: consider removing the leading `b`: `"foo"`
|
||||
| ---- ^^^^^^
|
||||
| | |
|
||||
| | expected `str`, found array `[u8; 3]`
|
||||
| | help: consider removing the leading `b`: `"foo"`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected reference `&str`
|
||||
found reference `&'static [u8; 3]`
|
||||
|
|
|
|||
|
|
@ -63,7 +63,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/struct-literal-variant-in-if.rs:21:20
|
||||
|
|
||||
LL | let y: usize = ();
|
||||
| ^^ expected `usize`, found `()`
|
||||
| ----- ^^ expected `usize`, found `()`
|
||||
| |
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -5,10 +5,11 @@ LL | fn bar<'a, T>() where T: 'a {}
|
|||
| --------------------------- fn() {<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>} defined here
|
||||
...
|
||||
LL | let x: () = <i8 as Foo<'static, 'static, u8>>::bar::<'static, char>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>()`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>}`
|
||||
|
|
@ -20,10 +21,11 @@ LL | fn bar<'a, T>() where T: 'a {}
|
|||
| --------------------------- fn() {<i8 as Foo<'static, 'static>>::bar::<'static, char>} defined here
|
||||
...
|
||||
LL | let x: () = <i8 as Foo<'static, 'static, u32>>::bar::<'static, char>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u32>>::bar::<'static, char>()`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u32>>::bar::<'static, char>()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {<i8 as Foo<'static, 'static>>::bar::<'static, char>}`
|
||||
|
|
@ -35,10 +37,11 @@ LL | fn baz() {}
|
|||
| -------- fn() {<i8 as Foo<'static, 'static, u8>>::baz} defined here
|
||||
...
|
||||
LL | let x: () = <i8 as Foo<'static, 'static, u8>>::baz;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::baz()`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::baz()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {<i8 as Foo<'static, 'static, u8>>::baz}`
|
||||
|
|
@ -50,10 +53,11 @@ LL | fn foo<'z>() where &'z (): Sized {
|
|||
| -------------------------------- fn() {foo::<'static>} defined here
|
||||
...
|
||||
LL | let x: () = foo::<'static>;
|
||||
| ^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `foo::<'static>()`
|
||||
| -- ^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `foo::<'static>()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {foo::<'static>}`
|
||||
|
|
|
|||
|
|
@ -5,10 +5,11 @@ LL | fn bar<'a, T>() where T: 'a {}
|
|||
| --------------------------- fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::bar::<ReStatic, char>} defined here
|
||||
...
|
||||
LL | let x: () = <i8 as Foo<'static, 'static, u8>>::bar::<'static, char>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>()`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::bar::<ReStatic, char>}`
|
||||
|
|
@ -20,10 +21,11 @@ LL | fn bar<'a, T>() where T: 'a {}
|
|||
| --------------------------- fn() {<i8 as Foo<ReStatic, ReStatic>>::bar::<ReStatic, char>} defined here
|
||||
...
|
||||
LL | let x: () = <i8 as Foo<'static, 'static, u32>>::bar::<'static, char>;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u32>>::bar::<'static, char>()`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u32>>::bar::<'static, char>()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {<i8 as Foo<ReStatic, ReStatic>>::bar::<ReStatic, char>}`
|
||||
|
|
@ -35,10 +37,11 @@ LL | fn baz() {}
|
|||
| -------- fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::baz} defined here
|
||||
...
|
||||
LL | let x: () = <i8 as Foo<'static, 'static, u8>>::baz;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::baz()`
|
||||
| -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::baz()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::baz}`
|
||||
|
|
@ -50,10 +53,11 @@ LL | fn foo<'z>() where &'z (): Sized {
|
|||
| -------------------------------- fn() {foo::<ReStatic>} defined here
|
||||
...
|
||||
LL | let x: () = foo::<'static>;
|
||||
| ^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected `()`, found fn item
|
||||
| help: use parentheses to call this function: `foo::<'static>()`
|
||||
| -- ^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected `()`, found fn item
|
||||
| | help: use parentheses to call this function: `foo::<'static>()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found fn item `fn() {foo::<ReStatic>}`
|
||||
|
|
|
|||
|
|
@ -34,10 +34,11 @@ error[E0308]: mismatched types
|
|||
--> $DIR/as-ref.rs:16:27
|
||||
|
|
||||
LL | let y: Option<&usize> = x;
|
||||
| ^
|
||||
| |
|
||||
| expected enum `std::option::Option`, found reference
|
||||
| help: you can convert from `&Option<T>` to `Option<&T>` using `.as_ref()`: `x.as_ref()`
|
||||
| -------------- ^
|
||||
| | |
|
||||
| | expected enum `std::option::Option`, found reference
|
||||
| | help: you can convert from `&Option<T>` to `Option<&T>` using `.as_ref()`: `x.as_ref()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `std::option::Option<&usize>`
|
||||
found reference `&std::option::Option<usize>`
|
||||
|
|
@ -46,7 +47,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/as-ref.rs:19:35
|
||||
|
|
||||
LL | let y: Result<&usize, &usize> = x;
|
||||
| ^ expected enum `std::result::Result`, found reference
|
||||
| ---------------------- ^ expected enum `std::result::Result`, found reference
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `std::result::Result<&usize, &usize>`
|
||||
found reference `&std::result::Result<usize, usize>`
|
||||
|
|
@ -59,7 +62,9 @@ error[E0308]: mismatched types
|
|||
--> $DIR/as-ref.rs:23:34
|
||||
|
|
||||
LL | let y: Result<&usize, usize> = x;
|
||||
| ^ expected enum `std::result::Result`, found reference
|
||||
| --------------------- ^ expected enum `std::result::Result`, found reference
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `std::result::Result<&usize, usize>`
|
||||
found reference `&std::result::Result<usize, usize>`
|
||||
|
|
|
|||
|
|
@ -19,10 +19,11 @@ LL | fn foo(a: usize, b: usize) -> usize { a }
|
|||
| ----------------------------------- fn(usize, usize) -> usize {foo} defined here
|
||||
...
|
||||
LL | let _: usize = foo;
|
||||
| ^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `foo(a, b)`
|
||||
| ----- ^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `foo(a, b)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize, usize) -> usize {foo}`
|
||||
|
|
@ -34,10 +35,11 @@ LL | struct S(usize, usize);
|
|||
| ----------------------- fn(usize, usize) -> S {S} defined here
|
||||
...
|
||||
LL | let _: S = S;
|
||||
| ^
|
||||
| |
|
||||
| expected struct `S`, found fn item
|
||||
| help: use parentheses to instantiate this tuple struct: `S(_, _)`
|
||||
| - ^
|
||||
| | |
|
||||
| | expected struct `S`, found fn item
|
||||
| | help: use parentheses to instantiate this tuple struct: `S(_, _)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `S`
|
||||
found fn item `fn(usize, usize) -> S {S}`
|
||||
|
|
@ -49,10 +51,11 @@ LL | fn bar() -> usize { 42 }
|
|||
| ----------------- fn() -> usize {bar} defined here
|
||||
...
|
||||
LL | let _: usize = bar;
|
||||
| ^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `bar()`
|
||||
| ----- ^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `bar()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn() -> usize {bar}`
|
||||
|
|
@ -64,10 +67,11 @@ LL | struct V();
|
|||
| ----------- fn() -> V {V} defined here
|
||||
...
|
||||
LL | let _: V = V;
|
||||
| ^
|
||||
| |
|
||||
| expected struct `V`, found fn item
|
||||
| help: use parentheses to instantiate this tuple struct: `V()`
|
||||
| - ^
|
||||
| | |
|
||||
| | expected struct `V`, found fn item
|
||||
| | help: use parentheses to instantiate this tuple struct: `V()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `V`
|
||||
found fn item `fn() -> V {V}`
|
||||
|
|
@ -79,10 +83,11 @@ LL | fn baz(x: usize, y: usize) -> usize { x }
|
|||
| ----------------------------------- fn(usize, usize) -> usize {<_ as T>::baz} defined here
|
||||
...
|
||||
LL | let _: usize = T::baz;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `T::baz(x, y)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `T::baz(x, y)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize, usize) -> usize {<_ as T>::baz}`
|
||||
|
|
@ -94,10 +99,11 @@ LL | fn bat(x: usize) -> usize { 42 }
|
|||
| ------------------------- fn(usize) -> usize {<_ as T>::bat} defined here
|
||||
...
|
||||
LL | let _: usize = T::bat;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `T::bat(x)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `T::bat(x)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize) -> usize {<_ as T>::bat}`
|
||||
|
|
@ -109,10 +115,11 @@ LL | A(usize),
|
|||
| -------- fn(usize) -> E {E::A} defined here
|
||||
...
|
||||
LL | let _: E = E::A;
|
||||
| ^^^^
|
||||
| |
|
||||
| expected enum `E`, found fn item
|
||||
| help: use parentheses to instantiate this tuple variant: `E::A(_)`
|
||||
| - ^^^^
|
||||
| | |
|
||||
| | expected enum `E`, found fn item
|
||||
| | help: use parentheses to instantiate this tuple variant: `E::A(_)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected enum `E`
|
||||
found fn item `fn(usize) -> E {E::A}`
|
||||
|
|
@ -124,10 +131,11 @@ LL | fn baz(x: usize, y: usize) -> usize { x }
|
|||
| ----------------------------------- fn(usize, usize) -> usize {<X as T>::baz} defined here
|
||||
...
|
||||
LL | let _: usize = X::baz;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `X::baz(x, y)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `X::baz(x, y)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize, usize) -> usize {<X as T>::baz}`
|
||||
|
|
@ -139,10 +147,11 @@ LL | fn bat(x: usize) -> usize { 42 }
|
|||
| ------------------------- fn(usize) -> usize {<X as T>::bat} defined here
|
||||
...
|
||||
LL | let _: usize = X::bat;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `X::bat(x)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `X::bat(x)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize) -> usize {<X as T>::bat}`
|
||||
|
|
@ -154,10 +163,11 @@ LL | fn bax(x: usize) -> usize { 42 }
|
|||
| ------------------------- fn(usize) -> usize {<X as T>::bax} defined here
|
||||
...
|
||||
LL | let _: usize = X::bax;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `X::bax(x)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `X::bax(x)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize) -> usize {<X as T>::bax}`
|
||||
|
|
@ -169,10 +179,11 @@ LL | fn bach(x: usize) -> usize;
|
|||
| --------------------------- fn(usize) -> usize {<X as T>::bach} defined here
|
||||
...
|
||||
LL | let _: usize = X::bach;
|
||||
| ^^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `X::bach(x)`
|
||||
| ----- ^^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `X::bach(x)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `fn(usize) -> usize {<X as T>::bach}`
|
||||
|
|
@ -184,10 +195,11 @@ LL | fn ban(&self) -> usize { 42 }
|
|||
| ---------------------- for<'r> fn(&'r X) -> usize {<X as T>::ban} defined here
|
||||
...
|
||||
LL | let _: usize = X::ban;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `X::ban(_)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `X::ban(_)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `for<'r> fn(&'r X) -> usize {<X as T>::ban}`
|
||||
|
|
@ -199,10 +211,11 @@ LL | fn bal(&self) -> usize;
|
|||
| ----------------------- for<'r> fn(&'r X) -> usize {<X as T>::bal} defined here
|
||||
...
|
||||
LL | let _: usize = X::bal;
|
||||
| ^^^^^^
|
||||
| |
|
||||
| expected `usize`, found fn item
|
||||
| help: use parentheses to call this function: `X::bal(_)`
|
||||
| ----- ^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found fn item
|
||||
| | help: use parentheses to call this function: `X::bal(_)`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found fn item `for<'r> fn(&'r X) -> usize {<X as T>::bal}`
|
||||
|
|
@ -225,10 +238,11 @@ error[E0308]: mismatched types
|
|||
LL | let closure = || 42;
|
||||
| -- closure defined here
|
||||
LL | let _: usize = closure;
|
||||
| ^^^^^^^
|
||||
| |
|
||||
| expected `usize`, found closure
|
||||
| help: use parentheses to call this closure: `closure()`
|
||||
| ----- ^^^^^^^
|
||||
| | |
|
||||
| | expected `usize`, found closure
|
||||
| | help: use parentheses to call this closure: `closure()`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected type `usize`
|
||||
found closure `[closure@$DIR/fn-or-tuple-struct-without-args.rs:45:19: 45:24]`
|
||||
|
|
|
|||
|
|
@ -2,19 +2,21 @@ error[E0308]: mismatched types
|
|||
--> $DIR/format-borrow.rs:2:21
|
||||
|
|
||||
LL | let a: String = &String::from("a");
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::string::String`, found `&std::string::String`
|
||||
| help: consider removing the borrow: `String::from("a")`
|
||||
| ------ ^^^^^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::string::String`, found `&std::string::String`
|
||||
| | help: consider removing the borrow: `String::from("a")`
|
||||
| expected due to this
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/format-borrow.rs:4:21
|
||||
|
|
||||
LL | let b: String = &format!("b");
|
||||
| ^^^^^^^^^^^^^
|
||||
| |
|
||||
| expected struct `std::string::String`, found `&std::string::String`
|
||||
| help: consider removing the borrow: `format!("b")`
|
||||
| ------ ^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | expected struct `std::string::String`, found `&std::string::String`
|
||||
| | help: consider removing the borrow: `format!("b")`
|
||||
| expected due to this
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue