Fix apply_substs assertion failure

Fixes #1030.
This commit is contained in:
Florian Diebold
2019-03-23 18:03:09 +01:00
parent 5a6a3d0777
commit dbfc68cea0
2 changed files with 25 additions and 2 deletions

View File

@@ -1791,6 +1791,29 @@ fn test<R>(query_response: Canonical<QueryResponse<R>>) {
);
}
#[test]
fn bug_1030() {
assert_snapshot_matches!(infer(r#"
struct HashSet<T, H>;
struct FxHasher;
type FxHashSet<T> = HashSet<T, FxHasher>;
impl<T, H> HashSet<T, H> {
fn default() -> HashSet<T, H> {}
}
pub fn main_loop() {
FxHashSet::default();
}
"#),
@r###"
[144; 146) '{}': ()
[169; 198) '{ ...t(); }': ()
[175; 193) 'FxHash...efault': fn default<{unknown}, {unknown}>() -> HashSet<T, H>
[175; 195) 'FxHash...ault()': HashSet<{unknown}, {unknown}>"###
);
}
#[test]
fn cross_crate_associated_method_call() {
let (mut db, pos) = MockDatabase::with_position(