Unnamed repository; edit this file 'description' to name the repository.
tests: add tests for mismatches with unresolved projections
roife 2024-04-02
parent 8d6b65c · commit 3d373fe
-rw-r--r--crates/hir-ty/src/tests/diagnostics.rs17
-rw-r--r--crates/hir/src/lib.rs3
2 files changed, 19 insertions, 1 deletions
diff --git a/crates/hir-ty/src/tests/diagnostics.rs b/crates/hir-ty/src/tests/diagnostics.rs
index 80f92eaf43..fde90b0a55 100644
--- a/crates/hir-ty/src/tests/diagnostics.rs
+++ b/crates/hir-ty/src/tests/diagnostics.rs
@@ -136,3 +136,20 @@ impl Trait for () {
"#,
);
}
+
+#[test]
+fn no_mismatches_with_unresolved_projections() {
+ check_no_mismatches(
+ r#"
+// Thing is {unknown}
+fn create() -> Option<(i32, Thing)> {
+ Some((69420, Thing))
+}
+
+fn consume() -> Option<()> {
+ let (number, thing) = create()?;
+ Some(())
+}
+"#,
+ );
+}
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index 1d4d458e89..b9f7ff67a0 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -73,7 +73,8 @@ use hir_ty::{
traits::FnTrait,
AliasTy, CallableDefId, CallableSig, Canonical, CanonicalVarKinds, Cast, ClosureId, GenericArg,
GenericArgData, Interner, ParamKind, QuantifiedWhereClause, Scalar, Substitution,
- TraitEnvironment, TraitRefExt, Ty, TyBuilder, TyDefId, TyExt, TyKind, ValueTyDefId, WhereClause,
+ TraitEnvironment, TraitRefExt, Ty, TyBuilder, TyDefId, TyExt, TyKind, ValueTyDefId,
+ WhereClause,
};
use itertools::Itertools;
use nameres::diagnostics::DefDiagnosticKind;