about summary refs log tree commit diff
path: root/src/test/compile-fail/inherit-struct3.rs
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2014-02-24 20:17:02 +1300
committerNick Cameron <ncameron@mozilla.com>2014-04-20 13:41:18 +1200
commitff04aa8e385f343f66c5bed6a34d1ebf6c971e4d (patch)
tree9c0845b6a369ab071138f6c542e7aef46ff5a2a0 /src/test/compile-fail/inherit-struct3.rs
parent3757f01c9bed7b2fe0d726ac45c754312e2917ea (diff)
downloadrust-ff04aa8e385f343f66c5bed6a34d1ebf6c971e4d.tar.gz
rust-ff04aa8e385f343f66c5bed6a34d1ebf6c971e4d.zip
Allow inheritance between structs.
No subtyping, no interaction with traits. Partially addresses #9912.
Diffstat (limited to 'src/test/compile-fail/inherit-struct3.rs')
-rw-r--r--src/test/compile-fail/inherit-struct3.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/compile-fail/inherit-struct3.rs b/src/test/compile-fail/inherit-struct3.rs
new file mode 100644
index 00000000000..88329033df7
--- /dev/null
+++ b/src/test/compile-fail/inherit-struct3.rs
@@ -0,0 +1,25 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Test struct inheritance.
+#![feature(struct_inherit)]
+
+virtual struct S1 {
+    f1: int,
+}
+
+struct S6 : S1 {
+    f2: int,
+}
+
+pub fn main() {
+    let s = S6{f2: 3}; //~ ERROR missing field: `f1`
+    let s = S6{f1: 3}; //~ ERROR missing field: `f2`
+}