-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
A-tytype system / type inference / traits / method resolutiontype system / type inference / traits / method resolutionS-actionableSomeone could pick this issue up and work on it right nowSomeone could pick this issue up and work on it right now
Description
We've got about 1000 type mismatches remaining when running rust-analyzer analysis-stats . on the rust-analyzer repo itself. Since the repo actually typechecks, all of these type mismatches are actually bugs or missing features. Since we want to emit type errors sooner or later, we need to get these to 0 🙂
Here's the categorization I've got so far: (all line numbers are from revision b8262099cc51065259daf10b4b23ff49ce74434f)
- (708)
Expected &dyn \w+Database: Requires attribute macro support for salsa (Expand attribute-like proc macros #8971) - (99)
Expected &HitCounter: Caused by Inner item declared by nested macro not resolved #8930 - (109)
Expected .+, got !: Investigate, this should easily work? Reproducible trivially:
fn main() {
unreachable!()
}This only seems to happen with macros; e.g.loop {} does not result in a type mismatch.
Fixed by #8983.
-
Expected .+, got <.+ as FnOnce.+>::Output: Fixed by fix: Fix lowering of FnOnce() without return type #8987
crates/hir_def/src/body/lower.rs 640:20-640:22: Expected (), got <F as FnOnce<(&mut ExprCollector, Option<T>)>>::Output
crates/hir_def/src/body/lower.rs 635:23-641:17: Expected (), got <F as FnOnce<(&mut ExprCollector, Option<T>)>>::Output
crates/hir_def/src/body/lower.rs 643:20-643:41: Expected (), got <F as FnOnce<(&mut ExprCollector, Option<T>)>>::Output
crates/hir_def/src/expr.rs 268:68-268:82: Expected (), got <impl FnMut(Idx<Expr>) as FnOnce<(Idx<Expr>,)>>::Output
crates/hir_def/src/expr.rs 278:38-278:46: Expected (), got <impl FnMut(Idx<Expr>) as FnOnce<(Idx<Expr>,)>>::Output
crates/hir_def/src/expr.rs 279:39-279:47: Expected (), got <impl FnMut(Idx<Expr>) as FnOnce<(Idx<Expr>,)>>::Output
crates/hir_def/src/expr.rs 361:20-361:30: Expected (), got <impl FnMut(Idx<Expr>) as FnOnce<(Idx<Expr>,)>>::Output
crates/hir_def/src/expr.rs 359:57-362:17: Expected (), got <impl FnMut(Idx<Expr>) as FnOnce<(Idx<Expr>,)>>::Output
crates/hir_def/src/expr.rs 364:41-364:49: Expected (), got <impl FnMut(Idx<Expr>) as FnOnce<(Idx<Expr>,)>>::Output
crates/hir_def/src/expr.rs 443:36-443:43: Expected (), got <impl FnMut(Idx<Pat>) as FnOnce<(Idx<Pat>,)>>::Output
crates/hir_def/src/expr.rs 451:34-451:43: Expected (), got <impl FnMut(Idx<Pat>) as FnOnce<(Idx<Pat>,)>>::Output
crates/hir_def/src/resolver.rs 456:24-456:74: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
process_names: Expected <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output, got ()
crates/hir_def/src/resolver.rs 454:20-457:21: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
crates/hir_def/src/resolver.rs 453:61-458:17: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
crates/hir_def/src/resolver.rs 461:20-461:76: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
crates/hir_def/src/resolver.rs 459:62-462:17: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
crates/hir_def/src/resolver.rs 465:20-465:76: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
crates/hir_def/src/resolver.rs 463:65-466:17: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
process_names: Expected <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output, got ()
crates/hir_def/src/path/lower/lower_use.rs 55:16-55:47: Expected (), got <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output
lower_use_tree: Expected <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output, got ()
crates/hir_def/src/path/lower/lower_use.rs 54:12-56:13: Expected (), got <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output
crates/hir_def/src/path/lower/lower_use.rs 62:16-62:48: Expected (), got <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output
lower_use_tree: Expected <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output, got ()
crates/hir_def/src/path/lower/lower_use.rs 61:12-63:13: Expected (), got <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output
crates/hir_def/src/path/lower/lower_use.rs 41:8-64:9: Expected (), got <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output
crates/hir_def/src/path/lower/lower_use.rs 36:11-65:5: Expected (), got <dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>) as FnOnce<(ModPath, &UseTree, bool, Option<ImportAlias>)>>::Output
crates/vfs-notify/src/lib.rs 217:8-217:26: Expected (), got <dyn Fn(Message) + Send as FnOnce<(Message,)>>::Output
crates/vfs-notify/src/lib.rs 216:45-218:5: Expected (), got <dyn Fn(Message) + Send as FnOnce<(Message,)>>::Output
crates/stdx/src/process.rs 45:24-45:44: Expected (), got <dyn FnMut(&str) as FnOnce<(&str,)>>::Output
crates/stdx/src/process.rs 47:24-47:44: Expected (), got <dyn FnMut(&str) as FnOnce<(&str,)>>::Output
crates/stdx/src/process.rs 44:20-48:21: Expected (), got <dyn FnMut(&str) as FnOnce<(&str,)>>::Output
crates/stdx/src/process.rs 43:71-49:17: Expected (), got <dyn FnMut(&str) as FnOnce<(&str,)>>::Output
crates/hir_expand/src/diagnostics.rs 72:8-72:34: Expected (), got <dyn FnMut(&dyn Diagnostic) as FnOnce<(&dyn Diagnostic,)>>::Output
crates/hir_expand/src/diagnostics.rs 60:44-73:5: Expected (), got <dyn FnMut(&dyn Diagnostic) as FnOnce<(&dyn Diagnostic,)>>::Output
crates/flycheck/src/lib.rs 253:8-253:33: Expected (), got <dyn Fn(Message) + Send as FnOnce<(Message,)>>::Output
crates/flycheck/src/lib.rs 252:40-254:5: Expected (), got <dyn Fn(Message) + Send as FnOnce<(Message,)>>::Output
crates/hir/src/semantics.rs 864:12-864:24: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
crates/hir/src/semantics.rs 843:70-865:9: Expected (), got <dyn FnMut(Name, ScopeDef) as FnOnce<(Name, ScopeDef)>>::Output
Probably also:
crates/hir_expand/src/diagnostics.rs 107:30-107:56: Expected Box<dyn FnMut(&dyn Diagnostic), Global>, got Box<F, Global>
crates/ide/src/lib.rs 238:62-238:65: Expected &dyn Fn(PrimeCachesProgress) + Sync, got &F
crates/stdx/src/process.rs 25:29-51:9: Expected &mut dyn FnMut(bool, &mut Vec<u8, Global>, bool), got &mut |bool, {unknown}, bool| -> ()
crates/hir_expand/src/diagnostics.rs 87:26-87:38: Expected Box<dyn FnMut(&dyn Diagnostic) -> bool, Global>, got Box<F, Global>
crates/ide/src/runnables.rs 106:36-124:5: Expected &mut dyn FnMut(Either<ModuleDef, Impl>), got &mut |Either<ModuleDef, {unknown}>| -> ()
crates/project_model/src/build_data.rs 180:12-252:13: Expected &mut dyn FnMut(&str), got &mut |str| -> ()
- trait impls inside bodies: feat: Make block-local trait impls work #9244
crates/hir_ty/src/lib.rs 301:16-301:37: Expected &mut dyn Folder<Interner>, got &mut FreeVarFolder<impl FnMut(BoundVar, DebruijnIndex) -> Ty<Interner>>
crates/hir_ty/src/lib.rs 328:16-328:32: Expected &mut dyn Folder<Interner>, got &mut TyFolder<impl FnMut(Ty<Interner>, DebruijnIndex) -> Ty<Interner>>
crates/hir_ty/src/lib.rs 446:42-446:61: Expected &mut dyn Folder<Interner>, got &mut ErrorReplacer
crates/mbe/src/tt_iter.rs 122:41-122:50: Expected &mut dyn TreeSink, got &mut OffsetTokenSink
-
HasInterner::Internerprojection: ChalkHasInternerderive macro doesn't work because it expands to named constant #9562
crates/hir_ty/src/lower.rs 1011:86-1011:95: Expected &<Binders<WhereClause<Interner>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/lower.rs 1011:68-1011:96: Expected ProgramClause<Interner>, got Binders<WhereClause<Interner>>
crates/hir_ty/src/display.rs 387:57-387:66: Expected &<Binders<Vec<Binders<WhereClause<Interner>>, Global>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/display.rs 573:53-573:62: Expected &<Binders<Vec<Binders<WhereClause<Interner>>, Global>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/display.rs 621:68-621:77: Expected &<Binders<WhereClause<Interner>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/display.rs 655:53-655:62: Expected &<Binders<Vec<Binders<WhereClause<Interner>>, Global>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/autoderef.rs 97:32-97:41: Expected &<Ty<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/autoderef.rs 108:33-108:42: Expected &<Ty<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/autoderef.rs 134:41-134:50: Expected &<ConstrainedSubst<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/autoderef.rs 172:85-172:94: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/autoderef.rs 174:61-174:70: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/chalk_ext.rs 220:44-220:53: Expected &<Binders<Vec<Binders<WhereClause<Interner>>, Global>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/chalk_ext.rs 239:64-239:73: Expected &<Binders<WhereClause<Interner>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/builder.rs 41:31-41:40: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/builder.rs 133:46-133:55: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/builder.rs 138:87-138:96: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/method_resolution.rs 806:43-806:52: Expected &<Ty<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/chalk_db.rs 682:44-682:53: Expected &<Binders<WhereClause<Interner>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/chalk_db.rs 684:4-684:10: Expected Vec<Binders<WhereClause<Interner>>, Global>, got Vec<<Binders<WhereClause<Interner>> as Fold<<Binders<WhereClause<Interner>> as HasInterner>::Interner>>::Result, Global>
crates/hir_ty/src/chalk_db.rs 678:52-685:1: Expected Vec<Binders<WhereClause<Interner>>, Global>, got Vec<<Binders<WhereClause<Interner>> as Fold<<Binders<WhereClause<Interner>> as HasInterner>::Interner>>::Result, Global>
crates/hir_ty/src/chalk_db.rs 705:42-705:51: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/chalk_db.rs 717:42-717:51: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/expr.rs 1008:32-1008:41: Expected &<Binders<WhereClause<Interner>> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 96:18-96:27: Expected &<(Ty<Interner>, Ty<Interner>) as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 117:80-117:89: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 119:86-119:95: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 121:87-121:96: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 56:34-56:43: Expected &<Substitution<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 57:85-57:94: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 58:88-58:97: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 59:84-59:93: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 61:65-61:74: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 476:72-476:81: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 489:72-489:81: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir_ty/src/infer/unify.rs 509:18-509:27: Expected &<GenericArg<Interner> as HasInterner>::Interner, got &Interner
crates/hir/src/display.rs 240:56-240:65: Expected &<Binders<WhereClause<Interner>> as HasInterner>::Interner, got &Interner
- Chalk
Fold::Resultprojection: probably also ChalkHasInternerderive macro doesn't work because it expands to named constant #9562
crates/hir_ty/src/infer/unify.rs 346:42-346:55: Expected Canonicalized<InEnvironment<Goal<Interner>>>, got Canonicalized<<InEnvironment<Goal<Interner>> as Fold<Interner>>::Result>
crates/hir_ty/src/infer/unify.rs 345:40-345:54: Expected &Canonicalized<InEnvironment<Goal<Interner>>>, got &Canonicalized<<InEnvironment<Goal<Interner>> as Fold<Interner>>::Result>
crates/hir_ty/src/infer/unify.rs 372:48-372:59: Expected InEnvironment<Goal<Interner>>, got <InEnvironment<Goal<Interner>> as Fold<Interner>>::Result
crates/hir/src/display.rs 242:57-242:68: Expected &[Binders<WhereClause<Interner>>], got &Vec<<Binders<WhereClause<Interner>> as Fold<<Binders<WhereClause<Interner>> as HasInterner>::Interner>>::Result, Global>
- probably expected type not passed through correctly for unsized coercion (fix: Fix coercion in match with expected type #9239)
crates/hir_ty/src/chalk_db.rs 104:53-104:67: Expected &[TyFingerprint; 12], got &[TyFingerprint; 2]
crates/ide/src/display/navigation_target.rs 342:33-342:35: Expected &Macro, got &Fn
crates/hir_def/src/attr.rs 71:20-71:23: Expected &Arc<[Attr]>, got &[Attr; 0]
crates/hir_def/src/attr.rs 82:20-82:23: Expected &Arc<[Attr]>, got &[Attr; 0]
crates/hir_def/src/attr.rs 224:41-224:47: Expected &TupleField, got &RecordField
-
Expected InFile<&dyn AttrsOwner>, got InFile<&SourceFile>: Improve expected type handling for calls #9560
crates/hir_def/src/attr.rs 305:70-305:97: Expected InFile<&dyn AttrsOwner>, got InFile<&SourceFile>
crates/hir_def/src/attr.rs 355:51-355:90: Expected InFile<&dyn AttrsOwner>, got InFile<&LifetimeParam>
crates/hir_def/src/attr.rs 359:51-359:90: Expected InFile<&dyn AttrsOwner>, got InFile<&ConstParam>
crates/hir_def/src/attr.rs 377:57-377:91: Expected InFile<&dyn AttrsOwner>, got InFile<&Module>
crates/hir_def/src/attr.rs 381:57-381:84: Expected InFile<&dyn AttrsOwner>, got InFile<&SourceFile>
crates/ide/src/display/navigation_target.rs 317:53-317:71: Expected InFile<&dyn NameOwner>, got InFile<&RecordField>
Also similar:
crates/proc_macro_api/src/msg.rs 100:15-100:28: Expected Result<Option<&String>, Error>, got Result<Option<&mut String>, {unknown}>
crates/rust-analyzer/tests/slow-tests/support.rs 326:16-326:36: Expected Option<(&Value, &Value)>, got Option<(&&Value, &&Value)>
crates/rust-analyzer/tests/slow-tests/support.rs 327:19-330:13: Expected Option<(&&Value, &&Value)>, got Option<(&Value, &Value)>
crates/rust-analyzer/tests/slow-tests/support.rs 324:12-330:13: Expected Option<(&Value, &Value)>, got Option<(&&Value, &&Value)>
crates/rust-analyzer/tests/slow-tests/support.rs 332:48-348:9: Expected Option<(&&Value, &&Value)>, got Option<(&Value, &Value)>
crates/rust-analyzer/tests/slow-tests/support.rs 352:13-352:37: Expected Option<(&&Value, &&Value)>, got Option<(&Value, &Value)>
crates/rust-analyzer/tests/slow-tests/support.rs 304:4-353:5: Expected Option<(&Value, &Value)>, got Option<(&&Value, &&Value)>
crates/rust-analyzer/tests/slow-tests/support.rs 303:95-354:1: Expected Option<(&Value, &Value)>, got Option<(&&Value, &&Value)>
crates/tt/src/buffer.rs 166:27-166:40: Expected Option<&Subtree>, got Option<&&Subtree>
crates/tt/src/buffer.rs 194:83-194:91: Expected Option<&TokenTree>, got Option<&&TokenTree>
crates/ide/src/doc_links.rs 33:83-33:96: Expected Option<&mut dyn FnMut(BrokenLink) -> Option<(CowStr, CowStr)>>, got Option<&mut fn broken_link_clone_cb(BrokenLink) -> Option<(CowStr, CowStr)>>
crates/ide/src/doc_links.rs 74:68-74:81: Expected Option<&mut dyn FnMut(BrokenLink) -> Option<(CowStr, CowStr)>>, got Option<&mut |BrokenLink| -> Option<(CowStr, CowStr)>>
crates/ide/src/doc_links.rs 127:8-127:39: Expected Option<&mut dyn FnMut(BrokenLink) -> Option<(CowStr, CowStr)>>, got Option<&mut fn broken_link_clone_cb(BrokenLink) -> Option<(CowStr, CowStr)>>
crates/proc_macro_srv/src/lib.rs 75:8-80:10: Expected Result<&Expander, String>, got Result<&mut Expander, {unknown}>
crates/proc_macro_srv/src/lib.rs 70:76-81:5: Expected Result<&Expander, String>, got Result<&mut Expander, {unknown}>
crates/proc_macro_srv/src/proc_macro/bridge/rpc.rs 279:39-279:50: Expected Box<&str, Global>, got Box<String, Global>
crates/proc_macro_srv/src/proc_macro/bridge/rpc.rs 292:39-292:46: Expected Option<&&str>, got Option<&String>
crates/proc_macro_srv/src/proc_macro/bridge/rpc.rs 290:8-294:9: Expected Option<&str>, got Option<&&str>
crates/proc_macro_srv/src/proc_macro/bridge/rpc.rs 289:41-295:5: Expected Option<&str>, got Option<&&str>
crates/project_model/src/workspace.rs 148:47-148:64: Expected Option<&AbsPath>, got Option<&AbsPathBuf>
crates/hir_ty/src/diagnostics/expr.rs 115:43-115:68: Expected AstPtr<RecordExpr>, got AstPtr<&RecordExpr>
-
Expected &dyn X, got &impl X: Handle implicitSizedbounds #8984
crates/hir_def/src/item_tree/lower.rs 701:50-701:54: Expected &dyn GenericParamsOwner, got &impl GenericParamsOwner
crates/hir_def/src/item_tree/lower.rs 713:50-713:54: Expected &dyn GenericParamsOwner, got &impl GenericParamsOwner
crates/hir_def/src/item_tree/lower.rs 727:55-727:59: Expected &dyn GenericParamsOwner, got &impl GenericParamsOwner
crates/hir_def/src/item_tree/lower.rs 733:55-733:59: Expected &dyn GenericParamsOwner, got &impl GenericParamsOwner
crates/hir_expand/src/diagnostics.rs 56:33-56:35: Expected &dyn Diagnostic, got &impl Diagnostic
crates/hir_def/src/path.rs 82:59-82:66: Expected &mut dyn FnMut(ModPath, &UseTree, bool, Option<ImportAlias>), got &mut impl FnMut(ModPath, &UseTree, bool, Option<ImportAlias>)
Maybe also
crates/syntax/src/algo.rs 264:39-264:53: Expected &mut (dyn Iterator<Item = NodeOrToken<SyntaxNode<RustLanguage>, SyntaxToken<RustLanguage>>>), got &mut <impl IntoIterator<Item = NodeOrToken<SyntaxNode<RustLanguage>, SyntaxToken<RustLanguage>>> as IntoIterator>::IntoIter
crates/syntax/src/algo.rs 308:41-308:55: Expected &mut (dyn Iterator<Item = NodeOrToken<SyntaxNode<RustLanguage>, SyntaxToken<RustLanguage>>>), got &mut <impl IntoIterator<Item = NodeOrToken<SyntaxNode<RustLanguage>, SyntaxToken<RustLanguage>>> as IntoIterator>::IntoIter
These are the remaining ones I haven't categorized yet (28; I suspect a few are follow-ups from missing attribute macro support or other missing features):
crates/hir_expand/src/builtin_macro.rs 166:61-166:78: Expected usize, got TextSize
crates/hir_expand/src/builtin_macro.rs 166:48-166:78: Expected TextSize, got <usize as Sub<TextSize>>::Output
crates/ide/src/doc_links.rs 314:28-314:67: Expected str, got String
crates/ide/src/doc_links.rs 314:28-314:67: Expected str, got String
crates/ide_assists/src/handlers/raw_string.rs 79:91-79:98: Expected str, got String
crates/syntax/src/ast/make.rs 69:15-69:19: Expected &str, got &String
crates/ide_db/src/search.rs 391:74-391:79: Expected &SyntaxNode<RustLanguage>, got &Lazy<{unknown}, || -> SyntaxNode<RustLanguage>>
crates/ide_db/src/search.rs 409:62-409:67: Expected &SyntaxNode<RustLanguage>, got &Lazy<{unknown}, || -> SyntaxNode<RustLanguage>>
crates/hir/src/semantics/source_to_def.rs 157:8-157:39: Expected Option<ID>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 152:20-158:5: Expected Option<ID>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 166:8-166:52: Expected Option<TypeParamId>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 160:99-167:5: Expected Option<TypeParamId>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 178:8-178:56: Expected Option<LifetimeParamId>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 172:33-179:5: Expected Option<LifetimeParamId>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 190:8-190:53: Expected Option<ConstParamId>, got Copied<{unknown}>
crates/hir/src/semantics/source_to_def.rs 184:30-191:5: Expected Option<ConstParamId>, got Copied<{unknown}>
crates/hir_def/src/find_path.rs 112:67-114:5: Expected &mut dyn FnMut(&DefMap, Idx<ModuleData>) -> Option<Name>, got &mut |{unknown}, {unknown}| -> Map<{unknown}, |({unknown}, {unknown})| -> {unknown}>
crates/hir_def/src/find_path.rs 139:55-141:17: Expected &mut dyn FnMut(&DefMap, Idx<ModuleData>) -> Option<{unknown}>, got &mut |{unknown}, {unknown}| -> Filter<{unknown}, |&{unknown}| -> bool>
crates/hir_def/src/nameres.rs 303:47-309:9: Expected &mut dyn FnMut(&DefMap, Idx<ModuleData>) -> Option<ModuleId>, got &mut |{unknown}, {unknown}| -> Option<{unknown}>
crates/hir_def/src/nameres/path_resolution.rs 257:52-263:17: Expected &mut dyn FnMut(&DefMap, Idx<ModuleData>) -> Option<PerNs>, got &mut |{unknown}, {unknown}| -> Option<PerNs>
crates/hir_def/src/resolver.rs 348:62-355:17: Expected &mut dyn FnMut(&DefMap, Idx<ModuleData>) -> Option<{unknown}>, got &mut |{unknown}, {unknown}| -> Option<()>
crates/hir_ty/src/diagnostics/decl_check/case_conv.rs 54:13-54:54: Expected String, got <String as Add<&String>>::Output
crates/ide_assists/src/handlers/convert_comment_block.rs 170:8-170:43: Expected String, got <String as Add<&&str>>::Output
crates/ide_assists/src/handlers/convert_comment_block.rs 169:11-171:5: Expected String, got <String as Add<&&str>>::Output
crates/tt/src/lib.rs 258:35-260:29: Expected <String as Add<&String>>::Output, got String
crates/tt/src/lib.rs 262:29-262:30: Expected <String as Add<&String>>::Output, got String
crates/tt/src/lib.rs 265:42-265:62: Expected <String as Add<&String>>::Output, got String
crates/tt/src/lib.rs 267:25-267:27: Expected &str, got &<String as Add<&String>>::Output
Veykril, lnicola, jonas-schievink, matklad, FilipAndersson245 and 6 more
Metadata
Metadata
Assignees
Labels
A-tytype system / type inference / traits / method resolutiontype system / type inference / traits / method resolutionS-actionableSomeone could pick this issue up and work on it right nowSomeone could pick this issue up and work on it right now