-
Notifications
You must be signed in to change notification settings - Fork 32
/
issue-77982.rs
42 lines (33 loc) · 894 Bytes
/
issue-77982.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//@ ignore-windows different list of satisfying impls
use std::collections::HashMap;
fn what() {
let descr = String::new();
let mut opts = HashMap::<String, ()>::new();
let opt = String::new();
opts.get(opt.as_ref()); //~ ERROR type annotations needed
//~^ ERROR type annotations needed
}
fn main() {
let ips: Vec<_> = (0..100_000).map(|_| u32::from(0u32.into())).collect();
//~^ ERROR type annotations needed
}
trait Foo<'a, T: ?Sized> {
fn foo(&self) -> Box<T> {
todo!()
}
}
trait Bar<'a, T: ?Sized> {
fn bar(&self) -> Box<T> {
todo!()
}
}
impl Foo<'static, u32> for () {}
impl<'a> Foo<'a, i16> for () {}
impl<'a> Bar<'static, u32> for &'a () {}
impl<'a> Bar<'a, i16> for &'a () {}
fn foo() {
let _ = ().foo(); //~ ERROR type annotations needed
}
fn bar() {
let _ = (&()).bar(); //~ ERROR type annotations needed
}