From de56fa0693b65a17aee95dda06eb7b1b42239fd8 Mon Sep 17 00:00:00 2001 From: Aleksandar Pokopec Date: Tue, 23 Feb 2010 18:57:52 +0000 Subject: Fixes #3018. Review by extempore. --- src/library/scala/runtime/ScalaRunTime.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/library/scala/runtime/ScalaRunTime.scala b/src/library/scala/runtime/ScalaRunTime.scala index a26d6b09bd..9a61f38be2 100644 --- a/src/library/scala/runtime/ScalaRunTime.scala +++ b/src/library/scala/runtime/ScalaRunTime.scala @@ -193,11 +193,13 @@ object ScalaRunTime { // Node extends NodeSeq extends Seq[Node] strikes again case x: Node => x toString case x: AnyRef if isArray(x) => WrappedArray make x map inner mkString ("Array(", ", ", ")") + case x: Traversable[_] if !x.hasDefiniteSize => x.toString case x: Traversable[_] => // Some subclasses of AbstractFile implement Iterable, then throw an // exception if you call iterator. What a world. + // And they can't be infinite either. if (x.getClass.getName startsWith "scala.tools.nsc.io") x.toString - else x map inner mkString (x.stringPrefix + "(", ", ", ")") + else (x map inner) mkString (x.stringPrefix + "(", ", ", ")") case x => x toString } val s = inner(arg) -- cgit v1.2.3