summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-03-10 16:09:08 +0000
committerMartin Odersky <odersky@gmail.com>2006-03-10 16:09:08 +0000
commitf857dea44a03bae7f147fc8be49f2555e3cc9eb7 (patch)
tree0dc3c530f79035fc635f8562f5037a460194ec68 /src
parentb9863c050b9173662e0f6abf91fcef6aaa778f96 (diff)
downloadscala-f857dea44a03bae7f147fc8be49f2555e3cc9eb7.tar.gz
scala-f857dea44a03bae7f147fc8be49f2555e3cc9eb7.tar.bz2
scala-f857dea44a03bae7f147fc8be49f2555e3cc9eb7.zip
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/ant/ScalaBazaar.scala2
-rw-r--r--src/compiler/scala/tools/ant/ScalaTool.scala2
-rw-r--r--src/compiler/scala/tools/ant/Scalac.scala2
-rw-r--r--src/compiler/scala/tools/ant/Scaladoc.scala2
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala4
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Scanners.scala4
-rw-r--r--src/compiler/scala/tools/nsc/doc/DocGenerator.scala4
-rw-r--r--src/compiler/scala/tools/nsc/matching/AlgebraicMatchers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/Autom2.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/BerrySethis.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/CodeFactory.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/DetWordAutoms.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/LeftTracers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/MatcherLabels.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/NondetWordAutoms.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/PatternMatchers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/PatternNodeCreator.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/PatternNodes.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/RightTracers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/SequenceMatchers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/matching/WordAutoms.scala2
-rw-r--r--src/compiler/scala/tools/nsc/transform/Mixin.scala2
-rw-r--r--src/compiler/scala/tools/nsc/util/HashSet.scala2
-rw-r--r--src/compiler/scala/tools/nsc/util/TreeSet.scala2
-rw-r--r--src/library/scala/List.scala4
-rw-r--r--src/library/scala/MatchError.scala2
-rw-r--r--src/library/scala/Option.scala2
-rw-r--r--src/library/scala/Predef.scala8
-rw-r--r--src/library/scala/Seq.scala2
-rw-r--r--src/library/scala/Stream.scala8
-rw-r--r--src/library/scala/collection/Map.scala2
-rw-r--r--src/library/scala/collection/MapProxy.scala2
-rw-r--r--src/library/scala/collection/Set.scala2
-rw-r--r--src/library/scala/collection/SetProxy.scala2
-rw-r--r--src/library/scala/collection/immutable/Map.scala2
-rw-r--r--src/library/scala/collection/immutable/Set.scala2
-rw-r--r--src/library/scala/collection/mutable/Buffer.scala2
-rw-r--r--src/library/scala/collection/mutable/BufferProxy.scala2
-rw-r--r--src/library/scala/collection/mutable/DefaultMapModel.scala2
-rw-r--r--src/library/scala/collection/mutable/HashTable.scala2
-rw-r--r--src/library/scala/collection/mutable/Map.scala2
-rw-r--r--src/library/scala/collection/mutable/MapProxy.scala2
-rw-r--r--src/library/scala/collection/mutable/Message.scala2
-rw-r--r--src/library/scala/collection/mutable/MultiMap.scala2
-rw-r--r--src/library/scala/collection/mutable/MutableList.scala2
-rw-r--r--src/library/scala/collection/mutable/ObservableBuffer.scala2
-rw-r--r--src/library/scala/collection/mutable/ObservableMap.scala2
-rw-r--r--src/library/scala/collection/mutable/ObservableSet.scala2
-rw-r--r--src/library/scala/collection/mutable/Publisher.scala2
-rw-r--r--src/library/scala/collection/mutable/QueueProxy.scala2
-rw-r--r--src/library/scala/collection/mutable/ResizableArray.scala2
-rw-r--r--src/library/scala/collection/mutable/Scriptable.scala2
-rw-r--r--src/library/scala/collection/mutable/Set.scala2
-rw-r--r--src/library/scala/collection/mutable/SetProxy.scala2
-rw-r--r--src/library/scala/collection/mutable/StackProxy.scala2
-rw-r--r--src/library/scala/collection/mutable/Subscriber.scala2
-rw-r--r--src/library/scala/collection/mutable/SynchronizedBuffer.scala2
-rw-r--r--src/library/scala/collection/mutable/SynchronizedMap.scala2
-rw-r--r--src/library/scala/collection/mutable/SynchronizedSet.scala2
-rw-r--r--src/library/scala/collection/mutable/Undoable.scala2
-rw-r--r--src/library/scala/concurrent/MailBox.scala6
-rw-r--r--src/library/scala/testing/Benchmark.scala2
-rw-r--r--src/library/scala/testing/SUnit.scala4
-rw-r--r--src/library/scala/util/automata/Inclusion.scala2
-rw-r--r--src/library/scala/util/logging/ConsoleLogger.scala2
-rw-r--r--src/library/scala/util/logging/Logged.scala2
-rw-r--r--src/library/scala/xml/dtd/DtdTypeSymbol.scala2
-rw-r--r--src/library/scala/xml/factory/NodeFactory.scala2
-rw-r--r--src/library/scala/xml/parsing/ExternalSources.scala2
-rw-r--r--src/library/scala/xml/parsing/MarkupParser.scala2
-rw-r--r--src/library/scala/xml/parsing/TokenTests.scala2
71 files changed, 85 insertions, 83 deletions
diff --git a/src/compiler/scala/tools/ant/ScalaBazaar.scala b/src/compiler/scala/tools/ant/ScalaBazaar.scala
index b6dd04088b..7eef9d5135 100644
--- a/src/compiler/scala/tools/ant/ScalaBazaar.scala
+++ b/src/compiler/scala/tools/ant/ScalaBazaar.scala
@@ -194,7 +194,7 @@ package scala.tools.ant {
* ant file.
* @param message A message describing the error.
* @throws BuildException A build error exception thrown in every case. */
- private def error(message: String): All =
+ private def error(message: String): Nothing =
throw new BuildException(message, getLocation())
private def writeFile(file: File, content: String) =
diff --git a/src/compiler/scala/tools/ant/ScalaTool.scala b/src/compiler/scala/tools/ant/ScalaTool.scala
index cb6d67c194..de130777ec 100644
--- a/src/compiler/scala/tools/ant/ScalaTool.scala
+++ b/src/compiler/scala/tools/ant/ScalaTool.scala
@@ -205,7 +205,7 @@ package scala.tools.ant {
* ant file.
* @param message A message describing the error.
* @throws BuildException A build error exception thrown in every case. */
- private def error(message: String): All =
+ private def error(message: String): Nothing =
throw new BuildException(message, getLocation())
private def readResource(resource: String,
diff --git a/src/compiler/scala/tools/ant/Scalac.scala b/src/compiler/scala/tools/ant/Scalac.scala
index 4a1369ffdb..9cfd8edd98 100644
--- a/src/compiler/scala/tools/ant/Scalac.scala
+++ b/src/compiler/scala/tools/ant/Scalac.scala
@@ -364,7 +364,7 @@ package scala.tools.ant {
* ant file.
* @param message A message describing the error.
* @throws BuildException A build error exception thrown in every case. */
- private def error(message: String): All =
+ private def error(message: String): Nothing =
throw new BuildException(message, getLocation())
/******************************************************************************\
diff --git a/src/compiler/scala/tools/ant/Scaladoc.scala b/src/compiler/scala/tools/ant/Scaladoc.scala
index 6fc1c03f62..b8635fc8db 100644
--- a/src/compiler/scala/tools/ant/Scaladoc.scala
+++ b/src/compiler/scala/tools/ant/Scaladoc.scala
@@ -274,7 +274,7 @@ package scala.tools.ant {
* ant file.
* @param message A message describing the error.
* @throws BuildException A build error exception thrown in every case. */
- private def error(message: String): All =
+ private def error(message: String): Nothing =
throw new BuildException(message, getLocation())
private def readResource(resource: String): String = {
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index fe2eebb66a..b31d99e528 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -324,7 +324,7 @@ trait Parsers requires SyntaxAnalyzer {
in.nextToken();
name
} else {
- if (settings.migrate.value && in.token == REQUIRES || in.token == IMPLICIT)
+ if (settings.migrate.value && in.token == MATCH || in.token == REQUIRES || in.token == IMPLICIT)
syntaxErrorMigrate(""+in+" is now a reserved word; cannot be used as identifier");
accept(IDENTIFIER);
nme.ERROR
@@ -1100,7 +1100,7 @@ trait Parsers requires SyntaxAnalyzer {
r
case _ =>
if (settings.migrate.value &&
- in.token == REQUIRES || in.token == IMPLICIT)
+ in.token == MATCH || in.token == REQUIRES || in.token == IMPLICIT)
syntaxErrorMigrate(""+in+" is now a reserved word; cannot be used as identifier");
syntaxError("illegal start of simple pattern", true);
errorPatternTree
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
index a38153f28c..f770a9d489 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
@@ -21,7 +21,7 @@ trait Scanners requires SyntaxAnalyzer {
var token: int = EMPTY
/** the token's position */
- protected var pos: int = 0
+ var pos: int = 0
/** the first character position after the previous token */
var lastPos: int = 0
@@ -171,7 +171,7 @@ trait Scanners requires SyntaxAnalyzer {
prev.copyFrom(this);
fetchToken();
if (token == CLASS)
- unit.warning(pos, "`mixin' is no longer a reserved word; you should use `trait' instead of `mixin class'");
+ unit.warning(prev.pos, "`mixin' is no longer a reserved word; you should use `trait' instead of `mixin class'");
next.copyFrom(this)
this.copyFrom(prev)
}
diff --git a/src/compiler/scala/tools/nsc/doc/DocGenerator.scala b/src/compiler/scala/tools/nsc/doc/DocGenerator.scala
index b0ccc61e20..2205b68d76 100644
--- a/src/compiler/scala/tools/nsc/doc/DocGenerator.scala
+++ b/src/compiler/scala/tools/nsc/doc/DocGenerator.scala
@@ -2,7 +2,9 @@
* Copyright 2005-2006 LAMP/EPFL
* @author Sean McDirmid
*/
-// $Id: $package scala.tools.nsc.doc;
+// $Id: $
+
+package scala.tools.nsc.doc;
import scala.tools.nsc._;
import java.io._;
diff --git a/src/compiler/scala/tools/nsc/matching/AlgebraicMatchers.scala b/src/compiler/scala/tools/nsc/matching/AlgebraicMatchers.scala
index a5ce51e472..28dc65ba77 100644
--- a/src/compiler/scala/tools/nsc/matching/AlgebraicMatchers.scala
+++ b/src/compiler/scala/tools/nsc/matching/AlgebraicMatchers.scala
@@ -9,7 +9,7 @@ package scala.tools.nsc.matching;
/** the pattern matcher, tweaked to work with regular patterns
* @author Burak Emir
*/
-mixin class AlgebraicMatchers requires TransMatcher {
+trait AlgebraicMatchers requires TransMatcher {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/Autom2.scala b/src/compiler/scala/tools/nsc/matching/Autom2.scala
index f455e1f619..5d097a38b7 100644
--- a/src/compiler/scala/tools/nsc/matching/Autom2.scala
+++ b/src/compiler/scala/tools/nsc/matching/Autom2.scala
@@ -4,7 +4,7 @@ package scala.tools.nsc.matching ;
import scala.tools.nsc.util.Position;
-mixin class Autom2 requires TransMatcher {
+trait Autom2 requires TransMatcher {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/BerrySethis.scala b/src/compiler/scala/tools/nsc/matching/BerrySethis.scala
index dad2e75f85..55201096b9 100644
--- a/src/compiler/scala/tools/nsc/matching/BerrySethis.scala
+++ b/src/compiler/scala/tools/nsc/matching/BerrySethis.scala
@@ -4,7 +4,7 @@ import java.util.{ HashSet, HashMap, TreeSet, TreeMap, Vector };
//import scala.compiler.printer.XMLAutomPrinter;
-mixin class BerrySethis requires TransMatcher {
+trait BerrySethis requires TransMatcher {
import global._;
/** a Berry-Sethi style construction for nfas.
diff --git a/src/compiler/scala/tools/nsc/matching/CodeFactory.scala b/src/compiler/scala/tools/nsc/matching/CodeFactory.scala
index 9ae5b5b98f..d123f0c9fd 100644
--- a/src/compiler/scala/tools/nsc/matching/CodeFactory.scala
+++ b/src/compiler/scala/tools/nsc/matching/CodeFactory.scala
@@ -5,7 +5,7 @@ package scala.tools.nsc.matching ;
import scala.tools.nsc.util.Position;
-mixin class CodeFactory requires TransMatcher {
+trait CodeFactory requires TransMatcher {
import global._ ;
diff --git a/src/compiler/scala/tools/nsc/matching/DetWordAutoms.scala b/src/compiler/scala/tools/nsc/matching/DetWordAutoms.scala
index 545940f510..f7a490c4fb 100644
--- a/src/compiler/scala/tools/nsc/matching/DetWordAutoms.scala
+++ b/src/compiler/scala/tools/nsc/matching/DetWordAutoms.scala
@@ -7,7 +7,7 @@ package scala.tools.nsc.matching ;
import java.util._ ;
-mixin class DetWordAutoms requires TransMatcher {
+trait DetWordAutoms requires TransMatcher {
import global._;
class DetWordAutom {
diff --git a/src/compiler/scala/tools/nsc/matching/LeftTracers.scala b/src/compiler/scala/tools/nsc/matching/LeftTracers.scala
index 0d77065d40..12ea4a5586 100644
--- a/src/compiler/scala/tools/nsc/matching/LeftTracers.scala
+++ b/src/compiler/scala/tools/nsc/matching/LeftTracers.scala
@@ -10,7 +10,7 @@ import java.util._ ;
import scala.tools.nsc.util.Position;
-mixin class LeftTracers requires TransMatcher {
+trait LeftTracers requires TransMatcher {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/MatcherLabels.scala b/src/compiler/scala/tools/nsc/matching/MatcherLabels.scala
index 65ce90cb8c..d11adfa29d 100644
--- a/src/compiler/scala/tools/nsc/matching/MatcherLabels.scala
+++ b/src/compiler/scala/tools/nsc/matching/MatcherLabels.scala
@@ -1,6 +1,6 @@
package scala.tools.nsc.matching ;
-mixin class MatcherLabels requires TransMatcher {
+trait MatcherLabels requires TransMatcher {
import global._ ;
diff --git a/src/compiler/scala/tools/nsc/matching/NondetWordAutoms.scala b/src/compiler/scala/tools/nsc/matching/NondetWordAutoms.scala
index 3afa3d376d..cd1d8b576e 100644
--- a/src/compiler/scala/tools/nsc/matching/NondetWordAutoms.scala
+++ b/src/compiler/scala/tools/nsc/matching/NondetWordAutoms.scala
@@ -1,7 +1,7 @@
package scala.tools.nsc.matching ;
import java.util._ ;
-mixin class NondetWordAutoms {
+trait NondetWordAutoms {
/** a nondeterministic word automaton.
* states are represented (implicitly) as Integer objects.
*/
diff --git a/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala b/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
index d3d6b9e283..16e2fcd461 100644
--- a/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
+++ b/src/compiler/scala/tools/nsc/matching/PatternMatchers.scala
@@ -8,7 +8,7 @@ package scala.tools.nsc.matching ;
import scala.tools.nsc.util.Position;
-mixin class PatternMatchers requires (TransMatcher with PatternNodes) extends AnyRef with PatternNodeCreator {
+trait PatternMatchers requires (TransMatcher with PatternNodes) extends AnyRef with PatternNodeCreator {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/PatternNodeCreator.scala b/src/compiler/scala/tools/nsc/matching/PatternNodeCreator.scala
index 6c38893a58..23f1f7fa45 100644
--- a/src/compiler/scala/tools/nsc/matching/PatternNodeCreator.scala
+++ b/src/compiler/scala/tools/nsc/matching/PatternNodeCreator.scala
@@ -6,7 +6,7 @@ import scala.tools.nsc.util.Position;
* we inherit the globals from PatternTool.
*/
-mixin class PatternNodeCreator requires (TransMatcher with PatternNodes) {
+trait PatternNodeCreator requires (TransMatcher with PatternNodes) {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/PatternNodes.scala b/src/compiler/scala/tools/nsc/matching/PatternNodes.scala
index 39e9a0b9bb..9cd7399556 100644
--- a/src/compiler/scala/tools/nsc/matching/PatternNodes.scala
+++ b/src/compiler/scala/tools/nsc/matching/PatternNodes.scala
@@ -10,7 +10,7 @@ package scala.tools.nsc.matching ;
import scala.tools.nsc.util.Position;
-mixin class PatternNodes requires TransMatcher {
+trait PatternNodes requires TransMatcher {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/RightTracers.scala b/src/compiler/scala/tools/nsc/matching/RightTracers.scala
index 754fd0bf1d..0041c4351f 100644
--- a/src/compiler/scala/tools/nsc/matching/RightTracers.scala
+++ b/src/compiler/scala/tools/nsc/matching/RightTracers.scala
@@ -11,7 +11,7 @@ import java.util._ ;
import scala.tools.nsc.util.Position;
import scala.tools.nsc.symtab.Flags;
-mixin class RightTracers requires TransMatcher {
+trait RightTracers requires TransMatcher {
import global._ ;
import java.util._ ;
diff --git a/src/compiler/scala/tools/nsc/matching/SequenceMatchers.scala b/src/compiler/scala/tools/nsc/matching/SequenceMatchers.scala
index 334b8273d0..3d4508a747 100644
--- a/src/compiler/scala/tools/nsc/matching/SequenceMatchers.scala
+++ b/src/compiler/scala/tools/nsc/matching/SequenceMatchers.scala
@@ -14,7 +14,7 @@ import java.util._ ;
* is the "Builder" for "Director" class TransMatch.
*/
-mixin class SequenceMatchers requires TransMatcher {
+trait SequenceMatchers requires TransMatcher {
import global._;
diff --git a/src/compiler/scala/tools/nsc/matching/WordAutoms.scala b/src/compiler/scala/tools/nsc/matching/WordAutoms.scala
index 836253ca8e..b62e548041 100644
--- a/src/compiler/scala/tools/nsc/matching/WordAutoms.scala
+++ b/src/compiler/scala/tools/nsc/matching/WordAutoms.scala
@@ -10,7 +10,7 @@ import java.util._ ;
import scala.tools.nsc.util.Position;
-mixin class WordAutoms requires TransMatcher {
+trait WordAutoms requires TransMatcher {
import global._ ;
/** translates a recognizer to scala code
diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala
index 0802e00359..a52ff1e5f5 100644
--- a/src/compiler/scala/tools/nsc/transform/Mixin.scala
+++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala
@@ -363,7 +363,7 @@ abstract class Mixin extends InfoTransform {
case Super(_, mix) =>
if (mix == nme.EMPTY.toTypeName) {
if (currentOwner.enclClass.isImplClass)
- assert(false, "illegal super in mixin class: " + currentOwner.enclClass + " " + tree);
+ assert(false, "illegal super in trait: " + currentOwner.enclClass + " " + tree);
}
if (sym.owner hasFlag lateINTERFACE)
staticCall(atPhase(phase.prev)(sym.overridingSymbol(implClass(sym.owner))))
diff --git a/src/compiler/scala/tools/nsc/util/HashSet.scala b/src/compiler/scala/tools/nsc/util/HashSet.scala
index 9164ee527e..de84f9ca77 100644
--- a/src/compiler/scala/tools/nsc/util/HashSet.scala
+++ b/src/compiler/scala/tools/nsc/util/HashSet.scala
@@ -5,7 +5,7 @@
// $Id$
package scala.tools.nsc.util;
-class HashSet[T >: AllRef <: AnyRef](initialCapacity: int) extends Set[T] {
+class HashSet[T >: Null <: AnyRef](initialCapacity: int) extends Set[T] {
private var capacity = initialCapacity;
private var used = 0;
diff --git a/src/compiler/scala/tools/nsc/util/TreeSet.scala b/src/compiler/scala/tools/nsc/util/TreeSet.scala
index 574a0cc532..507d6ff751 100644
--- a/src/compiler/scala/tools/nsc/util/TreeSet.scala
+++ b/src/compiler/scala/tools/nsc/util/TreeSet.scala
@@ -7,7 +7,7 @@ package scala.tools.nsc.util;
/** Sets implemented as binary trees.
*/
-class TreeSet[T >: AllRef <: AnyRef](less: (T, T) => boolean) extends Set[T] {
+class TreeSet[T >: Null <: AnyRef](less: (T, T) => boolean) extends Set[T] {
private class Tree(val elem: T) {
var l: Tree = null;
diff --git a/src/library/scala/List.scala b/src/library/scala/List.scala
index c80b0c24e2..824e109a60 100644
--- a/src/library/scala/List.scala
+++ b/src/library/scala/List.scala
@@ -1057,10 +1057,10 @@ sealed abstract class List[+a] extends Seq[a] {
* @version 1.0, 15/07/2003
*/
[SerialVersionUID(0 - 8256821097970055419L)]
-case object Nil extends List[Bottom] {
+case object Nil extends List[Nothing] {
def isEmpty = true;
def head: All = error("head of empty list");
- def tail: List[Bottom] = error("tail of empty list");
+ def tail: List[Nothing] = error("tail of empty list");
}
/** A non empty list characterized by a head and a tail.
diff --git a/src/library/scala/MatchError.scala b/src/library/scala/MatchError.scala
index 37fe5a00e9..6f2c3ea95e 100644
--- a/src/library/scala/MatchError.scala
+++ b/src/library/scala/MatchError.scala
@@ -24,7 +24,7 @@ import Predef._
object MatchError {
// todo: change pattern matcher so that dummy type parameter T can be removed.
- def fail[T](source: String, line: Int): Bottom = throw new MatchError(source, line);
+ def fail[T](source: String, line: Int): Nothing = throw new MatchError(source, line);
def report(source: String, line: Int, obj: Any) =
try {
diff --git a/src/library/scala/Option.scala b/src/library/scala/Option.scala
index ff93da86b0..c5820beedc 100644
--- a/src/library/scala/Option.scala
+++ b/src/library/scala/Option.scala
@@ -83,4 +83,4 @@ final case class Some[+A](x: A) extends Option[A];
* @author Martin Odersky
* @version 1.0, 16/07/2003
*/
-case object None extends Option[Bottom];
+case object None extends Option[Nothing];
diff --git a/src/library/scala/Predef.scala b/src/library/scala/Predef.scala
index 1d082d1db3..ace68c2eec 100644
--- a/src/library/scala/Predef.scala
+++ b/src/library/scala/Predef.scala
@@ -20,7 +20,7 @@ object Predef {
// aliases -------------------------------------------------------
- type Bottom = All
+ type Nothing = All
type Null = AllRef
type byte = scala.Byte;
@@ -152,11 +152,11 @@ object Predef {
// errors and asserts -------------------------------------------------
- def error(message: String): Bottom = throw new Error(message);
+ def error(message: String): Nothing = throw new Error(message);
- def exit: Bottom = exit(0);
+ def exit: Nothing = exit(0);
- def exit(status: Int): Bottom = {
+ def exit(status: Int): Nothing = {
java.lang.System.exit(status);
throw new Throwable()
}
diff --git a/src/library/scala/Seq.scala b/src/library/scala/Seq.scala
index 11f53292fa..2bb16f6f4c 100644
--- a/src/library/scala/Seq.scala
+++ b/src/library/scala/Seq.scala
@@ -50,7 +50,7 @@ object Seq {
* @author Matthias Zenger
* @version 1.0, 16/07/2003
*/
-mixin class Seq[+A] extends AnyRef with PartialFunction[Int, A] with Iterable[A] {
+trait Seq[+A] extends AnyRef with PartialFunction[Int, A] with Iterable[A] {
/** Returns the length of the sequence.
*
diff --git a/src/library/scala/Stream.scala b/src/library/scala/Stream.scala
index d86af7392d..42669be6d2 100644
--- a/src/library/scala/Stream.scala
+++ b/src/library/scala/Stream.scala
@@ -21,10 +21,10 @@ package scala;
*/
object Stream {
- val empty: Stream[Bottom] = new Stream[Bottom] {
+ val empty: Stream[Nothing] = new Stream[Nothing] {
def isEmpty = true;
- def head: Bottom = error("head of empty stream");
- def tail: Stream[Bottom] = error("tail of empty stream");
+ def head: Nothing = error("head of empty stream");
+ def tail: Stream[Nothing] = error("tail of empty stream");
def printElems(buf: StringBuffer, prefix: String): StringBuffer = buf;
}
@@ -124,7 +124,7 @@ object Stream {
* @author Martin Odersky, Matthias Zenger
* @version 1.1 08/08/03
*/
-mixin class Stream[+a] extends Seq[a] {
+trait Stream[+a] extends Seq[a] {
def isEmpty: Boolean;
def head: a;
diff --git a/src/library/scala/collection/Map.scala b/src/library/scala/collection/Map.scala
index 21d4bc9041..7b517f8c29 100644
--- a/src/library/scala/collection/Map.scala
+++ b/src/library/scala/collection/Map.scala
@@ -26,7 +26,7 @@ package scala.collection;
* @author Matthias Zenger
* @version 1.1, 02/05/2004
*/
-mixin class Map[A, +B] extends AnyRef
+trait Map[A, +B] extends AnyRef
with PartialFunction[A, B]
with Iterable[Pair[A, B]]
{
diff --git a/src/library/scala/collection/MapProxy.scala b/src/library/scala/collection/MapProxy.scala
index 982deeab7e..819627546d 100644
--- a/src/library/scala/collection/MapProxy.scala
+++ b/src/library/scala/collection/MapProxy.scala
@@ -19,7 +19,7 @@ package scala.collection;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
-mixin class MapProxy[A, +B] extends Map[A, B] with IterableProxy[Pair[A, B]] {
+trait MapProxy[A, +B] extends Map[A, B] with IterableProxy[Pair[A, B]] {
def self: Map[A, B];
diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala
index 99d7968567..3d391f2c79 100644
--- a/src/library/scala/collection/Set.scala
+++ b/src/library/scala/collection/Set.scala
@@ -25,7 +25,7 @@ package scala.collection;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class Set[A] extends AnyRef with Function1[A, Boolean] with Iterable[A] {
+trait Set[A] extends AnyRef with Function1[A, Boolean] with Iterable[A] {
/** Returns the number of elements in this set.
*
diff --git a/src/library/scala/collection/SetProxy.scala b/src/library/scala/collection/SetProxy.scala
index d4ce6a3d9d..5b0517551a 100644
--- a/src/library/scala/collection/SetProxy.scala
+++ b/src/library/scala/collection/SetProxy.scala
@@ -19,7 +19,7 @@ package scala.collection;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
-mixin class SetProxy[A] extends Set[A] with IterableProxy[A] {
+trait SetProxy[A] extends Set[A] with IterableProxy[A] {
def self: Set[A];
diff --git a/src/library/scala/collection/immutable/Map.scala b/src/library/scala/collection/immutable/Map.scala
index f98f5666c0..c6730c6fff 100644
--- a/src/library/scala/collection/immutable/Map.scala
+++ b/src/library/scala/collection/immutable/Map.scala
@@ -24,7 +24,7 @@ package scala.collection.immutable;
* @author Erik Stenman
* @version 1.1, 22/03/2004
*/
-mixin class Map[A, B] extends AnyRef with collection.Map[A, B] {
+trait Map[A, B] extends AnyRef with collection.Map[A, B] {
/** This method returns a new map instance of the same class
* mapping keys of the same type to values of type <code>C</code>.
diff --git a/src/library/scala/collection/immutable/Set.scala b/src/library/scala/collection/immutable/Set.scala
index 78e78257d6..7c5138d700 100644
--- a/src/library/scala/collection/immutable/Set.scala
+++ b/src/library/scala/collection/immutable/Set.scala
@@ -20,7 +20,7 @@ package scala.collection.immutable;
* @author Matthias Zenger
* @version 1.1, 03/05/2004
*/
-mixin class Set[A] extends AnyRef with collection.Set[A] {
+trait Set[A] extends AnyRef with collection.Set[A] {
/** This method creates a new set with an additional element.
*/
diff --git a/src/library/scala/collection/mutable/Buffer.scala b/src/library/scala/collection/mutable/Buffer.scala
index da89424865..86bc87d046 100644
--- a/src/library/scala/collection/mutable/Buffer.scala
+++ b/src/library/scala/collection/mutable/Buffer.scala
@@ -23,7 +23,7 @@ import Predef._;
* @version 1.1, 02/03/2004
*/
[cloneable]
-mixin class Buffer[A] extends AnyRef
+trait Buffer[A] extends AnyRef
with Seq[A]
with Scriptable[Message[Pair[Location, A]]]
{
diff --git a/src/library/scala/collection/mutable/BufferProxy.scala b/src/library/scala/collection/mutable/BufferProxy.scala
index f21ad6c339..f2837f7200 100644
--- a/src/library/scala/collection/mutable/BufferProxy.scala
+++ b/src/library/scala/collection/mutable/BufferProxy.scala
@@ -19,7 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 16/04/2004
*/
-mixin class BufferProxy[A] extends Buffer[A] with Proxy {
+trait BufferProxy[A] extends Buffer[A] with Proxy {
def self: Buffer[A];
diff --git a/src/library/scala/collection/mutable/DefaultMapModel.scala b/src/library/scala/collection/mutable/DefaultMapModel.scala
index 126b384aa2..d910a54f61 100644
--- a/src/library/scala/collection/mutable/DefaultMapModel.scala
+++ b/src/library/scala/collection/mutable/DefaultMapModel.scala
@@ -19,7 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class DefaultMapModel[A, B] extends AnyRef with Map[A, B] {
+trait DefaultMapModel[A, B] extends AnyRef with Map[A, B] {
protected type Entry = DefaultEntry[A,B];
diff --git a/src/library/scala/collection/mutable/HashTable.scala b/src/library/scala/collection/mutable/HashTable.scala
index 8401cae46d..6654340fa0 100644
--- a/src/library/scala/collection/mutable/HashTable.scala
+++ b/src/library/scala/collection/mutable/HashTable.scala
@@ -29,7 +29,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class HashTable[A] extends AnyRef {
+trait HashTable[A] extends AnyRef {
/** The load factor for the hash table.
*/
diff --git a/src/library/scala/collection/mutable/Map.scala b/src/library/scala/collection/mutable/Map.scala
index 0dc8bbb47a..5437311425 100644
--- a/src/library/scala/collection/mutable/Map.scala
+++ b/src/library/scala/collection/mutable/Map.scala
@@ -21,7 +21,7 @@ package scala.collection.mutable;
* @version 1.1, 09/05/2004
*/
[cloneable]
-mixin class Map[A, B] extends AnyRef
+trait Map[A, B] extends AnyRef
with collection.Map[A, B]
with Scriptable[Message[Pair[A, B]]]
{
diff --git a/src/library/scala/collection/mutable/MapProxy.scala b/src/library/scala/collection/mutable/MapProxy.scala
index c59a983b41..44e1e482a1 100644
--- a/src/library/scala/collection/mutable/MapProxy.scala
+++ b/src/library/scala/collection/mutable/MapProxy.scala
@@ -19,7 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 21/07/2003
*/
-mixin class MapProxy[A, B] extends Map[A, B] with collection.MapProxy[A, B] {
+trait MapProxy[A, B] extends Map[A, B] with collection.MapProxy[A, B] {
def self: Map[A, B];
diff --git a/src/library/scala/collection/mutable/Message.scala b/src/library/scala/collection/mutable/Message.scala
index f48e2d2bb4..732caadf7a 100644
--- a/src/library/scala/collection/mutable/Message.scala
+++ b/src/library/scala/collection/mutable/Message.scala
@@ -21,7 +21,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class Message[+A];
+trait Message[+A];
/** This observable update refers to inclusion operations that add new elements
* to collection classes.
diff --git a/src/library/scala/collection/mutable/MultiMap.scala b/src/library/scala/collection/mutable/MultiMap.scala
index 9ef34d5554..17363a12e0 100644
--- a/src/library/scala/collection/mutable/MultiMap.scala
+++ b/src/library/scala/collection/mutable/MultiMap.scala
@@ -19,7 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class MultiMap[A, B] extends Map[A, Set[B]] {
+trait MultiMap[A, B] extends Map[A, Set[B]] {
protected def makeSet: Set[B] = new HashSet[B];
def add(key: A, value: B): Unit = get(key) match {
diff --git a/src/library/scala/collection/mutable/MutableList.scala b/src/library/scala/collection/mutable/MutableList.scala
index 3e46ff222f..f7c8999feb 100644
--- a/src/library/scala/collection/mutable/MutableList.scala
+++ b/src/library/scala/collection/mutable/MutableList.scala
@@ -19,7 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class MutableList[A] extends Seq[A] with PartialFunction[Int, A] {
+trait MutableList[A] extends Seq[A] with PartialFunction[Int, A] {
protected var first: LinkedList[A] = null;
protected var last: LinkedList[A] = null;
diff --git a/src/library/scala/collection/mutable/ObservableBuffer.scala b/src/library/scala/collection/mutable/ObservableBuffer.scala
index 8b977b656f..1440fe6845 100644
--- a/src/library/scala/collection/mutable/ObservableBuffer.scala
+++ b/src/library/scala/collection/mutable/ObservableBuffer.scala
@@ -20,7 +20,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class ObservableBuffer[A, This <: ObservableBuffer[A, This]] requires This
+trait ObservableBuffer[A, This <: ObservableBuffer[A, This]] requires This
extends Buffer[A]
with Publisher[Message[Pair[Location, A]]
with Undoable, This]
diff --git a/src/library/scala/collection/mutable/ObservableMap.scala b/src/library/scala/collection/mutable/ObservableMap.scala
index 2f47c2d6d3..5d58e4f2e8 100644
--- a/src/library/scala/collection/mutable/ObservableMap.scala
+++ b/src/library/scala/collection/mutable/ObservableMap.scala
@@ -20,7 +20,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class ObservableMap[A, B, This <: ObservableMap[A, B, This]] requires This
+trait ObservableMap[A, B, This <: ObservableMap[A, B, This]] requires This
extends Map[A, B]
with Publisher[Message[Pair[A, B]]
with Undoable, This]
diff --git a/src/library/scala/collection/mutable/ObservableSet.scala b/src/library/scala/collection/mutable/ObservableSet.scala
index 65a1fd91e3..b8338d634b 100644
--- a/src/library/scala/collection/mutable/ObservableSet.scala
+++ b/src/library/scala/collection/mutable/ObservableSet.scala
@@ -20,7 +20,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class ObservableSet[A, This <: ObservableSet[A, This]] requires This
+trait ObservableSet[A, This <: ObservableSet[A, This]] requires This
extends Set[A]
with Publisher[Message[A]
with Undoable, This]
diff --git a/src/library/scala/collection/mutable/Publisher.scala b/src/library/scala/collection/mutable/Publisher.scala
index 23305001b8..602fd3213f 100644
--- a/src/library/scala/collection/mutable/Publisher.scala
+++ b/src/library/scala/collection/mutable/Publisher.scala
@@ -22,7 +22,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class Publisher[A, This <: Publisher[A, This]] requires This {
+trait Publisher[A, This <: Publisher[A, This]] requires This {
private val filters = new HashMap[Subscriber[A, This],
scala.collection.mutable.Set[A => Boolean]]
with MultiMap[Subscriber[A, This], A => Boolean];
diff --git a/src/library/scala/collection/mutable/QueueProxy.scala b/src/library/scala/collection/mutable/QueueProxy.scala
index 705094d954..0b927cd5e1 100644
--- a/src/library/scala/collection/mutable/QueueProxy.scala
+++ b/src/library/scala/collection/mutable/QueueProxy.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.1, 03/05/2004
*/
-mixin class QueueProxy[A] extends Queue[A] with SeqProxy[A] {
+trait QueueProxy[A] extends Queue[A] with SeqProxy[A] {
def self: Queue[A];
diff --git a/src/library/scala/collection/mutable/ResizableArray.scala b/src/library/scala/collection/mutable/ResizableArray.scala
index dd211d87b0..70caf928e1 100644
--- a/src/library/scala/collection/mutable/ResizableArray.scala
+++ b/src/library/scala/collection/mutable/ResizableArray.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger, Burak Emir
* @version 1.0, 03/05/2004
*/
-mixin class ResizableArray[A] extends AnyRef with Iterable[A] {
+trait ResizableArray[A] extends AnyRef with Iterable[A] {
import scala.runtime.compat.Platform.arraycopy;
protected val initialSize: Int = 16;
diff --git a/src/library/scala/collection/mutable/Scriptable.scala b/src/library/scala/collection/mutable/Scriptable.scala
index 32065f978d..9a09606075 100644
--- a/src/library/scala/collection/mutable/Scriptable.scala
+++ b/src/library/scala/collection/mutable/Scriptable.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 09/05/2004
*/
-mixin class Scriptable[A] {
+trait Scriptable[A] {
/** Send a message to this scriptable object.
*/
diff --git a/src/library/scala/collection/mutable/Set.scala b/src/library/scala/collection/mutable/Set.scala
index 18375bd619..0bb13bb7aa 100644
--- a/src/library/scala/collection/mutable/Set.scala
+++ b/src/library/scala/collection/mutable/Set.scala
@@ -21,7 +21,7 @@ package scala.collection.mutable;
* @version 1.1, 09/05/2004
*/
[cloneable]
-mixin class Set[A] extends AnyRef with collection.Set[A]
+trait Set[A] extends AnyRef with collection.Set[A]
with Scriptable[Message[A]]
{
diff --git a/src/library/scala/collection/mutable/SetProxy.scala b/src/library/scala/collection/mutable/SetProxy.scala
index ef0c0a6f43..e3745b6371 100644
--- a/src/library/scala/collection/mutable/SetProxy.scala
+++ b/src/library/scala/collection/mutable/SetProxy.scala
@@ -19,7 +19,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.1, 09/05/2004
*/
-mixin class SetProxy[A] extends Set[A] with collection.SetProxy[A] {
+trait SetProxy[A] extends Set[A] with collection.SetProxy[A] {
def self: Set[A];
diff --git a/src/library/scala/collection/mutable/StackProxy.scala b/src/library/scala/collection/mutable/StackProxy.scala
index 2f8c2fc836..10fd038887 100644
--- a/src/library/scala/collection/mutable/StackProxy.scala
+++ b/src/library/scala/collection/mutable/StackProxy.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 10/05/2004
*/
-mixin class StackProxy[A] extends Stack[A] with SeqProxy[A] {
+trait StackProxy[A] extends Stack[A] with SeqProxy[A] {
def self: Stack[A];
diff --git a/src/library/scala/collection/mutable/Subscriber.scala b/src/library/scala/collection/mutable/Subscriber.scala
index 7f50543d7a..8cd7e0af05 100644
--- a/src/library/scala/collection/mutable/Subscriber.scala
+++ b/src/library/scala/collection/mutable/Subscriber.scala
@@ -19,6 +19,6 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class Subscriber[-A, -B] {
+trait Subscriber[-A, -B] {
def notify(pub: B, event: A): Unit;
}
diff --git a/src/library/scala/collection/mutable/SynchronizedBuffer.scala b/src/library/scala/collection/mutable/SynchronizedBuffer.scala
index ed692d4f1b..6a7defb413 100644
--- a/src/library/scala/collection/mutable/SynchronizedBuffer.scala
+++ b/src/library/scala/collection/mutable/SynchronizedBuffer.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class SynchronizedBuffer[A] extends Buffer[A] {
+trait SynchronizedBuffer[A] extends Buffer[A] {
abstract override def length: Int = synchronized {
super.length;
diff --git a/src/library/scala/collection/mutable/SynchronizedMap.scala b/src/library/scala/collection/mutable/SynchronizedMap.scala
index 855cd0850c..1eb02241dd 100644
--- a/src/library/scala/collection/mutable/SynchronizedMap.scala
+++ b/src/library/scala/collection/mutable/SynchronizedMap.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class SynchronizedMap[A, B] extends Map[A, B] {
+trait SynchronizedMap[A, B] extends Map[A, B] {
abstract override def size: Int = synchronized {
super.size;
diff --git a/src/library/scala/collection/mutable/SynchronizedSet.scala b/src/library/scala/collection/mutable/SynchronizedSet.scala
index a6df3a7edb..06eedd15f7 100644
--- a/src/library/scala/collection/mutable/SynchronizedSet.scala
+++ b/src/library/scala/collection/mutable/SynchronizedSet.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class SynchronizedSet[A] extends Set[A] {
+trait SynchronizedSet[A] extends Set[A] {
abstract override def size: Int = synchronized {
super.size
diff --git a/src/library/scala/collection/mutable/Undoable.scala b/src/library/scala/collection/mutable/Undoable.scala
index 428d8086dd..f8d355c558 100644
--- a/src/library/scala/collection/mutable/Undoable.scala
+++ b/src/library/scala/collection/mutable/Undoable.scala
@@ -18,7 +18,7 @@ package scala.collection.mutable;
* @author Matthias Zenger
* @version 1.0, 08/07/2003
*/
-mixin class Undoable {
+trait Undoable {
/** Undo the last operation.
*/
diff --git a/src/library/scala/concurrent/MailBox.scala b/src/library/scala/concurrent/MailBox.scala
index 44418d448d..100c29faf2 100644
--- a/src/library/scala/concurrent/MailBox.scala
+++ b/src/library/scala/concurrent/MailBox.scala
@@ -104,7 +104,7 @@ class MailBox extends AnyRef with ListQueueCreator {
/**
* Module for dealing with queues.
*/
-mixin class QueueModule[a] {
+trait QueueModule[a] {
/** Type of queues. */
type t;
/** Create an empty queue. */
@@ -116,7 +116,7 @@ mixin class QueueModule[a] {
}
/** Inefficient but simple queue module creator. */
-mixin class ListQueueCreator {
+trait ListQueueCreator {
def queueCreate[a]: QueueModule[a] = new QueueModule[a] {
type t = List[a];
def make: t = Nil;
@@ -137,7 +137,7 @@ mixin class ListQueueCreator {
}
/** Efficient queue module creator based on linked lists. */
-mixin class LinkedListQueueCreator {
+trait LinkedListQueueCreator {
import scala.collection.mutable.LinkedList;
def queueCreate[a >: Null <: AnyRef]: QueueModule[a] = new QueueModule[a] {
type t = Pair[LinkedList[a], LinkedList[a]]; // fst = the list, snd = last elem
diff --git a/src/library/scala/testing/Benchmark.scala b/src/library/scala/testing/Benchmark.scala
index 3a2af55010..2db1954a0c 100644
--- a/src/library/scala/testing/Benchmark.scala
+++ b/src/library/scala/testing/Benchmark.scala
@@ -30,7 +30,7 @@ package scala.testing;
* This will run the benchmark 5 times and log the execution times in
* a file called times.log
*/
-mixin class Benchmark {
+trait Benchmark {
/** this method should be implemented by the concrete benchmark */
def run: Unit;
diff --git a/src/library/scala/testing/SUnit.scala b/src/library/scala/testing/SUnit.scala
index 78df86ee13..a56b667ca9 100644
--- a/src/library/scala/testing/SUnit.scala
+++ b/src/library/scala/testing/SUnit.scala
@@ -39,7 +39,7 @@ package scala.testing;
object SUnit {
/** a Test can be run with its result being collected */
- mixin class Test {
+ trait Test {
def run(r: TestResult):Unit;
}
@@ -132,7 +132,7 @@ object SUnit {
}
/** this class defined useful assert methods */
- mixin class Assert {
+ trait Assert {
/** equality */
def assertEquals[A](msg:String, expected:A, actual: => A): Unit =
if( expected != actual ) fail(msg);
diff --git a/src/library/scala/util/automata/Inclusion.scala b/src/library/scala/util/automata/Inclusion.scala
index df5ef16368..1e49617e21 100644
--- a/src/library/scala/util/automata/Inclusion.scala
+++ b/src/library/scala/util/automata/Inclusion.scala
@@ -16,7 +16,7 @@ package scala.util.automata ;
* inspired by the AMoRE automata library
* @author Burak
*/
-mixin class Inclusion[A <: AnyRef] {
+trait Inclusion[A <: AnyRef] {
val labels: Seq[A];
diff --git a/src/library/scala/util/logging/ConsoleLogger.scala b/src/library/scala/util/logging/ConsoleLogger.scala
index b5afc6879e..6b539dfe72 100644
--- a/src/library/scala/util/logging/ConsoleLogger.scala
+++ b/src/library/scala/util/logging/ConsoleLogger.scala
@@ -16,7 +16,7 @@ package scala.util.logging;
* A ConsoleLogger is mixed into a concrete class who has class Logged
* among its base classes.
*/
-mixin class ConsoleLogger {
+trait ConsoleLogger {
/** logs argument to Console using Console.println
*/
def log(msg:String): Unit = Console.println(msg);
diff --git a/src/library/scala/util/logging/Logged.scala b/src/library/scala/util/logging/Logged.scala
index e715cdb9c9..f66794c14e 100644
--- a/src/library/scala/util/logging/Logged.scala
+++ b/src/library/scala/util/logging/Logged.scala
@@ -25,7 +25,7 @@ package scala.util.logging;
</code>
* and the logging will be sent to the Console.
*/
-mixin class Logged {
+trait Logged {
/** this method should log the message given as argument somewhere
* as a side-effect
*/
diff --git a/src/library/scala/xml/dtd/DtdTypeSymbol.scala b/src/library/scala/xml/dtd/DtdTypeSymbol.scala
index 45b5f3663b..1933db6c34 100644
--- a/src/library/scala/xml/dtd/DtdTypeSymbol.scala
+++ b/src/library/scala/xml/dtd/DtdTypeSymbol.scala
@@ -12,4 +12,4 @@
package scala.xml.dtd;
-mixin class DtdTypeSymbol;
+trait DtdTypeSymbol;
diff --git a/src/library/scala/xml/factory/NodeFactory.scala b/src/library/scala/xml/factory/NodeFactory.scala
index 512ba35334..ebfd89ee97 100644
--- a/src/library/scala/xml/factory/NodeFactory.scala
+++ b/src/library/scala/xml/factory/NodeFactory.scala
@@ -12,7 +12,7 @@
package scala.xml.factory;
-mixin class NodeFactory[A <: Node] {
+trait NodeFactory[A <: Node] {
val ignoreComments = false;
val ignoreProcInstr = false;
diff --git a/src/library/scala/xml/parsing/ExternalSources.scala b/src/library/scala/xml/parsing/ExternalSources.scala
index 2394d96f5d..7282fef3fc 100644
--- a/src/library/scala/xml/parsing/ExternalSources.scala
+++ b/src/library/scala/xml/parsing/ExternalSources.scala
@@ -16,7 +16,7 @@ import scala.io.Source;
import java.net._;
import java.io._;
-mixin class ExternalSources requires (ExternalSources with MarkupParser with MarkupHandler) {
+trait ExternalSources requires (ExternalSources with MarkupParser with MarkupHandler) {
private def externalSourceFromURL(url:URL): Source = {
val in =
diff --git a/src/library/scala/xml/parsing/MarkupParser.scala b/src/library/scala/xml/parsing/MarkupParser.scala
index 7b0684731e..688740315b 100644
--- a/src/library/scala/xml/parsing/MarkupParser.scala
+++ b/src/library/scala/xml/parsing/MarkupParser.scala
@@ -26,7 +26,7 @@ import scala.xml.dtd._ ;
* While XML elements are returned, DTD declarations - if handled - are
* collected using side-effects.
*/
-mixin class MarkupParser requires (MarkupParser with MarkupHandler) extends AnyRef with TokenTests {
+trait MarkupParser requires (MarkupParser with MarkupHandler) extends AnyRef with TokenTests {
val input: Source;
diff --git a/src/library/scala/xml/parsing/TokenTests.scala b/src/library/scala/xml/parsing/TokenTests.scala
index b94513f64b..65d07e170f 100644
--- a/src/library/scala/xml/parsing/TokenTests.scala
+++ b/src/library/scala/xml/parsing/TokenTests.scala
@@ -15,7 +15,7 @@ package scala.xml.parsing;
/**
* Helper functions for parsing XML fragments
*/
-mixin class TokenTests {
+trait TokenTests {
/** (#x20 | #x9 | #xD | #xA) */
final def isSpace( ch:Char ):Boolean = ch match {