summaryrefslogtreecommitdiffstats
path: root/src/test/ui/statics/auxiliary
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/statics/auxiliary')
-rw-r--r--src/test/ui/statics/auxiliary/static-function-pointer-aux.rs4
-rw-r--r--src/test/ui/statics/auxiliary/static-methods-crate.rs29
-rw-r--r--src/test/ui/statics/auxiliary/static_fn_inline_xc_aux.rs12
-rw-r--r--src/test/ui/statics/auxiliary/static_fn_trait_xc_aux.rs11
-rw-r--r--src/test/ui/statics/auxiliary/static_mut_xc.rs1
5 files changed, 57 insertions, 0 deletions
diff --git a/src/test/ui/statics/auxiliary/static-function-pointer-aux.rs b/src/test/ui/statics/auxiliary/static-function-pointer-aux.rs
new file mode 100644
index 000000000..4dfc25764
--- /dev/null
+++ b/src/test/ui/statics/auxiliary/static-function-pointer-aux.rs
@@ -0,0 +1,4 @@
+pub fn f(x: isize) -> isize { -x }
+
+pub static F: fn(isize) -> isize = f;
+pub static mut MutF: fn(isize) -> isize = f;
diff --git a/src/test/ui/statics/auxiliary/static-methods-crate.rs b/src/test/ui/statics/auxiliary/static-methods-crate.rs
new file mode 100644
index 000000000..7ff3bc0dd
--- /dev/null
+++ b/src/test/ui/statics/auxiliary/static-methods-crate.rs
@@ -0,0 +1,29 @@
+#![crate_name="static_methods_crate"]
+#![crate_type = "lib"]
+
+pub trait read: Sized {
+ fn readMaybe(s: String) -> Option<Self>;
+}
+
+impl read for isize {
+ fn readMaybe(s: String) -> Option<isize> {
+ s.parse().ok()
+ }
+}
+
+impl read for bool {
+ fn readMaybe(s: String) -> Option<bool> {
+ match &*s {
+ "true" => Some(true),
+ "false" => Some(false),
+ _ => None
+ }
+ }
+}
+
+pub fn read<T:read>(s: String) -> T {
+ match read::readMaybe(s) {
+ Some(x) => x,
+ _ => panic!("read panicked!")
+ }
+}
diff --git a/src/test/ui/statics/auxiliary/static_fn_inline_xc_aux.rs b/src/test/ui/statics/auxiliary/static_fn_inline_xc_aux.rs
new file mode 100644
index 000000000..8d0f7f61c
--- /dev/null
+++ b/src/test/ui/statics/auxiliary/static_fn_inline_xc_aux.rs
@@ -0,0 +1,12 @@
+pub mod num {
+ pub trait Num2 {
+ fn from_int2(n: isize) -> Self;
+ }
+}
+
+pub mod f64 {
+ impl ::num::Num2 for f64 {
+ #[inline]
+ fn from_int2(n: isize) -> f64 { return n as f64; }
+ }
+}
diff --git a/src/test/ui/statics/auxiliary/static_fn_trait_xc_aux.rs b/src/test/ui/statics/auxiliary/static_fn_trait_xc_aux.rs
new file mode 100644
index 000000000..b8aed2c5f
--- /dev/null
+++ b/src/test/ui/statics/auxiliary/static_fn_trait_xc_aux.rs
@@ -0,0 +1,11 @@
+pub mod num {
+ pub trait Num2 {
+ fn from_int2(n: isize) -> Self;
+ }
+}
+
+pub mod f64 {
+ impl ::num::Num2 for f64 {
+ fn from_int2(n: isize) -> f64 { return n as f64; }
+ }
+}
diff --git a/src/test/ui/statics/auxiliary/static_mut_xc.rs b/src/test/ui/statics/auxiliary/static_mut_xc.rs
new file mode 100644
index 000000000..264a2243a
--- /dev/null
+++ b/src/test/ui/statics/auxiliary/static_mut_xc.rs
@@ -0,0 +1 @@
+pub static mut a: isize = 3;