File tree 1 file changed +22
-2
lines changed
1 file changed +22
-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 AsRef<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> { }
28
+ impl<T> AsRef<T> for Box<T> where T: Sized { }
19
29
impl<T> Clone for Box<T> where T: Clone { }
30
+ impl<T> Sized for Box<T> { }
31
+
32
+ // Meant to be [T]
33
+ struct Slice<T> where T: Sized { }
34
+ impl<T> Sized for Slice<T> { }
35
+ impl<T> AsRef<Slice<T>> for Slice<T> where T: Sized { }
36
+
37
+ struct Vec<T> where T: Sized { }
38
+ impl<T> AsRef<Slice<T>> for Vec<T> where T: Sized { }
39
+ impl<T> AsRef<Vec<T>> for Vec<T> where T: Sized { }
40
+ impl<T> Clone for Vec<T> where T: Clone, T: Sized { }
41
+ impl<T> Sized for Vec<T> where T: Sized { }
20
42
21
- struct Vec<T> { }
22
- impl<T> Clone for Vec<T> where T: Clone { }
You can’t perform that action at this time.
0 commit comments