about summary refs log tree commit diff
path: root/src/test/compile-fail/recursion.rs
diff options
context:
space:
mode:
authorDavid Wood <david@davidtw.co>2018-08-08 14:28:26 +0200
committerDavid Wood <david@davidtw.co>2018-08-14 10:38:00 +0200
commitb16a30677f4e641329e768272cf9d3ecc2fa31c4 (patch)
treed3e652eb74da6147d2ae1514977c93c785c733a2 /src/test/compile-fail/recursion.rs
parentfe28bcf1db02afe184e3677ee034b2a5804f2466 (diff)
downloadrust-b16a30677f4e641329e768272cf9d3ecc2fa31c4.tar.gz
rust-b16a30677f4e641329e768272cf9d3ecc2fa31c4.zip
Moved compile-fail tests to ui tests.
Diffstat (limited to 'src/test/compile-fail/recursion.rs')
-rw-r--r--src/test/compile-fail/recursion.rs32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/test/compile-fail/recursion.rs b/src/test/compile-fail/recursion.rs
deleted file mode 100644
index 3221ae46296..00000000000
--- a/src/test/compile-fail/recursion.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012-2015 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.
-
-enum Nil {NilValue}
-struct Cons<T> {head:isize, tail:T}
-trait Dot {fn dot(&self, other:Self) -> isize;}
-impl Dot for Nil {
-  fn dot(&self, _:Nil) -> isize {0}
-}
-impl<T:Dot> Dot for Cons<T> {
-  fn dot(&self, other:Cons<T>) -> isize {
-    self.head * other.head + self.tail.dot(other.tail)
-  }
-}
-fn test<T:Dot> (n:isize, i:isize, first:T, second:T) ->isize { //~ ERROR recursion limit
-  match n {    0 => {first.dot(second)}
-      // FIXME(#4287) Error message should be here. It should be
-      // a type error to instantiate `test` at a type other than T.
-    _ => {test (n-1, i+1, Cons {head:2*i+1, tail:first}, Cons{head:i*i, tail:second})}
-  }
-}
-pub fn main() {
-  let n = test(1, 0, Nil::NilValue, Nil::NilValue);
-  println!("{}", n);
-}