summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-07-25 19:03:55 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-07-25 19:03:55 -0700
commit10d8a68791ff2103a84c02783db4e3fd28f2cd87 (patch)
tree91dac14a59f9075783f46c3e0f1de18488e7c773 /src/libcore
parentda80bd17c30db599de43355f07783ee0bf846162 (diff)
downloadrust-10d8a68791ff2103a84c02783db4e3fd28f2cd87.tar.gz
rust-10d8a68791ff2103a84c02783db4e3fd28f2cd87.zip
libcore: Add missing ops.rs
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/ops.rs66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs
new file mode 100644
index 00000000000..61efe704974
--- /dev/null
+++ b/src/libcore/ops.rs
@@ -0,0 +1,66 @@
+// Core operators and kinds.
+
+#[lang="const"]
+trait const {
+    // Empty.
+}
+
+#[lang="copy"]
+trait copy {
+    // Empty.
+}
+
+#[lang="send"]
+trait send {
+    // Empty.
+}
+
+#[lang="owned"]
+trait owned {
+    // Empty.
+}
+
+#[lang="add"]
+trait add<RHS,Result> {
+    pure fn add(rhs: RHS) -> Result;
+}
+
+#[lang="sub"]
+trait sub<RHS,Result> {
+    pure fn sub(rhs: RHS) -> Result;
+}
+
+#[lang="mul"]
+trait mul<RHS,Result> {
+    pure fn mul(rhs: RHS) -> Result;
+}
+
+#[lang="div"]
+trait div<RHS,Result> {
+    pure fn div(rhs: RHS) -> Result;
+}
+
+#[lang="modulo"]
+trait modulo<RHS,Result> {
+    pure fn modulo(rhs: RHS) -> Result;
+}
+
+#[lang="neg"]
+trait neg<RHS,Result> {
+    pure fn neg(rhs: RHS) -> Result;
+}
+
+#[lang="bitops"]
+trait bitops<RHS,BitCount,Result> {
+    pure fn and(rhs: RHS) -> Result;
+    pure fn or(rhs: RHS) -> Result;
+    pure fn xor(rhs: RHS) -> Result;
+    pure fn shl(n: BitCount) -> Result;
+    pure fn shr(n: BitCount) -> Result;
+}
+
+#[lang="index"]
+trait index<Index,Result> {
+    pure fn index(index: Index) -> Result;
+}
+