File tree 1 file changed +20
-2
lines changed
1 file changed +20
-2
lines changed Original file line number Diff line number Diff line change 5
5
// ?- load libstd.chalk
6
6
// ?- Vec<Box<i32>>: Clone
7
7
8
+ trait Borrow<T> { }
8
9
trait Clone { }
9
10
trait Copy where Self: Clone { }
11
+ trait Sized { }
10
12
11
13
struct i32 { }
12
14
impl Copy for i32 { }
13
15
impl Clone for i32 { }
16
+ impl Sized for i32 { }
17
+
18
+ struct u32 { }
19
+ impl Copy for u32 { }
20
+ impl Clone for u32 { }
21
+ impl Sized for u32 { }
14
22
15
23
struct Rc<T> { }
16
24
impl<T> Clone for Rc<T> { }
25
+ impl<T> Sized for Rc<T> { }
17
26
18
27
struct Box<T> { }
19
28
impl<T> Clone for Box<T> where T: Clone { }
29
+ impl<T> Sized for Rc<T> { }
30
+
31
+ // Meant to be [T]
32
+ struct Slice<T> where T: Sized { }
33
+ impl<T> Sized for Slice<T> { }
34
+
35
+ struct Vec<T> where T: Sized { }
36
+ impl<T> Borrow<Slice<T>> for Vec<T> where T: Sized { }
37
+ impl<T> Clone for Vec<T> where T: Clone, T: Sized { }
38
+ impl<T> Sized for Vec<T> where T: Sized { }
20
39
21
- struct Vec<T> { }
22
- impl<T> Clone for Vec<T> where T: Clone { }
40
+ impl<T> Borrow<T> for T { }
You can’t perform that action at this time.
0 commit comments