-
Notifications
You must be signed in to change notification settings - Fork 182
/
libstd.chalk
39 lines (32 loc) · 986 Bytes
/
libstd.chalk
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
// Some basic examples you can use with the repl. Try this
// (you type the parts that go after the `?-`):
//
// cargo run
// ?- load libstd.chalk
// ?- Vec<Box<i32>>: Clone
trait AsRef<T> { }
trait Clone { }
trait Copy where Self: Clone { }
trait Sized { }
impl Copy for i32 { }
impl Clone for i32 { }
impl Sized for i32 { }
impl Copy for u32 { }
impl Clone for u32 { }
impl Sized for u32 { }
struct Rc<T> { }
impl<T> Clone for Rc<T> { }
impl<T> Sized for Rc<T> { }
#[fundamental]
struct Box<T> { }
impl<T> AsRef<T> for Box<T> where T: Sized { }
impl<T> Clone for Box<T> where T: Clone { }
impl<T> Sized for Box<T> { }
// Meant to be [T]
struct Slice<T> where T: Sized { }
impl<T> AsRef<Slice<T>> for Slice<T> where T: Sized { }
struct Vec<T> where T: Sized { }
impl<T> AsRef<Slice<T>> for Vec<T> where T: Sized { }
impl<T> AsRef<Vec<T>> for Vec<T> where T: Sized { }
impl<T> Clone for Vec<T> where T: Clone, T: Sized { }
impl<T> Sized for Vec<T> where T: Sized { }