Skip to content

Commit b1cb0af

Browse files
committed
Merge pull request #917 from dotty-staging/compile-stdlib
Compile big parts of stdlib
2 parents 432689d + 15827c1 commit b1cb0af

File tree

5 files changed

+178
-1
lines changed

5 files changed

+178
-1
lines changed

scripts/common

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ update() {
99
git fetch --tags "https://github.com/$1/$2.git"
1010
(git fetch "https://github.com/$1/$2.git" $4 && git checkout -fq FETCH_HEAD) #|| git checkout -fq $4 # || fallback is for local testing on tag
1111
git reset --hard
12+
echo updated $1/$2:$4 under $3. Last commits:
13+
git log --pretty=format:"%h - %an, %aD : %s" -n 10 # show last commits
1214
cd -
1315
}
1416

scripts/jobs/validate/junit

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ baseDir=${WORKSPACE-`pwd`}
44
scriptsDir="$baseDir/scripts"
55
. $scriptsDir/common
66

7-
update scala scala scala-scala
7+
git log --pretty=format:"%h - %an, %aD : %s" -n 10
8+
update DarkDimius scala scala-scala dotty-library
89
sbt $sbtArgs update compile test

scripts/jobs/validate/partest

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@ baseDir=${WORKSPACE-`pwd`}
44
scriptsDir="$baseDir/scripts"
55
. $scriptsDir/common
66

7+
git log --pretty=format:"%h - %an, %aD : %s" -n 10
8+
9+
update DarkDimius scala scala-scala dotty-library
710
sbt $sbtArgs update compile "partest-only --show-diff --verbose"
811

test/dotc/scala-collections.whitelist

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
# no sig for NoType
2+
# no sig for ErasedValueType(class RichShort,NoType)
3+
# no sig for TypeRef(TermRef(ThisType(TypeRef(NoPrefix,scala)),runtime),RichShort)
4+
# failure while taking result signture of (x: Short)runtime.RichShort: runtime.RichShort
5+
# cannot take signature of (x: Short)runtime.RichShort
6+
# exception occurred while typechecking ./scala-scala/src/library/scala/runtime/RichByte.scala
7+
#
8+
#./scala-scala/src/library/scala/runtime/RichBoolean.scala
9+
#./scala-scala/src/library/scala/runtime/RichByte.scala
10+
#./scala-scala/src/library/scala/runtime/RichChar.scala
11+
#./scala-scala/src/library/scala/runtime/RichDouble.scala
12+
#./scala-scala/src/library/scala/runtime/RichException.scala
13+
#./scala-scala/src/library/scala/runtime/RichFloat.scala
14+
#./scala-scala/src/library/scala/runtime/RichInt.scala
15+
#./scala-scala/src/library/scala/runtime/RichLong.scala
16+
#./scala-scala/src/library/scala/runtime/RichShort.scala
17+
18+
19+
20+
#
21+
# no sig for NoType
22+
# no sig for ErasedValueType(class RichShort,NoType)
23+
# no sig for TypeRef(TermRef(ThisType(TypeRef(NoPrefix,scala)),runtime),RichShort)
24+
# failure while taking result signture of (x: Short)runtime.RichShort: runtime.RichShort
25+
# cannot take signature of (x: Short)runtime.RichShort
26+
# exception occurred while typechecking ./scala-scala/src/library/scala/Array.scala
27+
#
28+
#./scala-scala/src/library/scala/Array.scala
29+
#./scala-scala/src/library/scala/NotImplementedError.scala
30+
31+
./scala-scala/src/library/scala/AnyValCompanion.scala
32+
33+
# Does not pass refchecks:
34+
# method getClass of type ()Class[_ <: AnyVal] cannot override final member method getClass in class Any
35+
#./scala-scala/src/library/scala/AnyVal.scala
36+
#./scala-scala/src/library/scala/Boolean.scala
37+
#./scala-scala/src/library/scala/Byte.scala
38+
#./scala-scala/src/library/scala/Char.scala
39+
#./scala-scala/src/library/scala/Double.scala
40+
#./scala-scala/src/library/scala/Float.scala
41+
#./scala-scala/src/library/scala/Int.scala
42+
#./scala-scala/src/library/scala/Long.scala
43+
#./scala-scala/src/library/scala/Short.scala
44+
#./scala-scala/src/library/scala/Unit.scala
45+
46+
./scala-scala/src/library/scala/Cloneable.scala
47+
./scala-scala/src/library/scala/DelayedInit.scala
48+
./scala-scala/src/library/scala/Dynamic.scala
49+
./scala-scala/src/library/scala/Equals.scala
50+
./scala-scala/src/library/scala/Immutable.scala
51+
./scala-scala/src/library/scala/MatchError.scala
52+
./scala-scala/src/library/scala/Mutable.scala
53+
./scala-scala/src/library/scala/NotNull.scala
54+
55+
# https://github.com/lampepfl/dotty/issues/911
56+
#./scala-scala/src/library/scala/Option.scala
57+
58+
./scala-scala/src/library/scala/PartialFunction.scala
59+
./scala-scala/src/library/scala/Predef.scala
60+
61+
# Causes data races #907
62+
# java.lang.AssertionError: assertion failed: data race? overwriting symbol of Product1 / TypeRef(ThisType(TypeRef(NoPrefix,scala)),Product1) / class dotty.tools.dotc.core.Types$CachedTypeRef / 190 / 4820 / module class scala / module class scala / frontend, took 2.154 sec
63+
#./scala-scala/src/library/scala/Product.scala
64+
#./scala-scala/src/library/scala/Product1.scala
65+
#./scala-scala/src/library/scala/Product10.scala
66+
#./scala-scala/src/library/scala/Product11.scala
67+
#./scala-scala/src/library/scala/Product12.scala
68+
#./scala-scala/src/library/scala/Product13.scala
69+
#./scala-scala/src/library/scala/Product14.scala
70+
#./scala-scala/src/library/scala/Product15.scala
71+
#./scala-scala/src/library/scala/Product16.scala
72+
#./scala-scala/src/library/scala/Product17.scala
73+
#./scala-scala/src/library/scala/Product18.scala
74+
#./scala-scala/src/library/scala/Product19.scala
75+
#./scala-scala/src/library/scala/Product2.scala
76+
#./scala-scala/src/library/scala/Product20.scala
77+
#./scala-scala/src/library/scala/Product21.scala
78+
#./scala-scala/src/library/scala/Product22.scala
79+
#./scala-scala/src/library/scala/Product3.scala
80+
#./scala-scala/src/library/scala/Product4.scala
81+
#./scala-scala/src/library/scala/Product5.scala
82+
#./scala-scala/src/library/scala/Product6.scala
83+
#./scala-scala/src/library/scala/Product7.scala
84+
#./scala-scala/src/library/scala/Product8.scala
85+
#./scala-scala/src/library/scala/Product9.scala
86+
87+
88+
./scala-scala/src/library/scala/Proxy.scala
89+
./scala-scala/src/library/scala/SerialVersionUID.scala
90+
./scala-scala/src/library/scala/Serializable.scala
91+
./scala-scala/src/library/scala/Specializable.scala
92+
./scala-scala/src/library/scala/Symbol.scala
93+
./scala-scala/src/library/scala/UninitializedError.scala
94+
./scala-scala/src/library/scala/UninitializedFieldError.scala
95+
96+
# https://github.com/lampepfl/dotty/issues/912
97+
# ./scala-scala/src/library/scala/collection/IndexedSeqOptimized.scala
98+
99+
./scala-scala/src/library/scala/collection/IterableLike.scala
100+
101+
# https://github.com/lampepfl/dotty/issues/913
102+
#./scala-scala/src/library/scala/collection/Iterator.scala
103+
./scala-scala/src/library/scala/collection/LinearSeqOptimized.scala
104+
105+
# https://github.com/lampepfl/dotty/issues/914
106+
#./scala-scala/src/library/scala/collection/TraversableOnce.scala
107+
./scala-scala/src/library/scala/collection/generic/Growable.scala
108+
./scala-scala/src/library/scala/collection/generic/TraversableForwarder.scala
109+
./scala-scala/src/library/scala/collection/immutable/BitSet.scala
110+
./scala-scala/src/library/scala/collection/immutable/DefaultMap.scala
111+
./scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala
112+
./scala-scala/src/library/scala/collection/immutable/Iterable.scala
113+
./scala-scala/src/library/scala/collection/immutable/LinearSeq.scala
114+
115+
# https://github.com/lampepfl/dotty/issues/915
116+
# ./scala-scala/src/library/scala/collection/immutable/List.scala
117+
./scala-scala/src/library/scala/collection/immutable/MapProxy.scala
118+
./scala-scala/src/library/scala/collection/immutable/PagedSeq.scala
119+
./scala-scala/src/library/scala/collection/immutable/Queue.scala
120+
121+
# https://github.com/lampepfl/dotty/issues/916
122+
#./scala-scala/src/library/scala/collection/immutable/Seq.scala
123+
#./scala-scala/src/library/scala/collection/mutable/IndexedSeq.scala
124+
#./scala-scala/src/library/scala/collection/mutable/ListBuffer.scala
125+
126+
./scala-scala/src/library/scala/collection/immutable/Stack.scala
127+
./scala-scala/src/library/scala/collection/immutable/StringLike.scala
128+
./scala-scala/src/library/scala/collection/immutable/StringOps.scala
129+
./scala-scala/src/library/scala/collection/immutable/Traversable.scala
130+
./scala-scala/src/library/scala/collection/immutable/Vector.scala
131+
./scala-scala/src/library/scala/collection/immutable/WrappedString.scala
132+
./scala-scala/src/library/scala/collection/mutable/Builder.scala
133+
./scala-scala/src/library/scala/collection/mutable/GrowingBuilder.scala
134+
135+
./scala-scala/src/library/scala/collection/mutable/WrappedArray.scala
136+
./scala-scala/src/library/scala/collection/mutable/WrappedArrayBuilder.scala
137+
./scala-scala/src/library/scala/deprecated.scala
138+
./scala-scala/src/library/scala/deprecatedInheritance.scala
139+
./scala-scala/src/library/scala/deprecatedName.scala
140+
./scala-scala/src/library/scala/deprecatedOverriding.scala
141+
./scala-scala/src/library/scala/inline.scala
142+
./scala-scala/src/library/scala/language.scala
143+
./scala-scala/src/library/scala/languageFeature.scala
144+
./scala-scala/src/library/scala/math/Equiv.scala
145+
./scala-scala/src/library/scala/math/Fractional.scala
146+
./scala-scala/src/library/scala/math/Integral.scala
147+
./scala-scala/src/library/scala/math/Numeric.scala
148+
./scala-scala/src/library/scala/math/Ordered.scala
149+
./scala-scala/src/library/scala/math/Ordering.scala
150+
./scala-scala/src/library/scala/math/PartialOrdering.scala
151+
./scala-scala/src/library/scala/math/ScalaNumericConversions.scala
152+
./scala-scala/src/library/scala/math/package.scala
153+
./scala-scala/src/library/scala/native.scala
154+
./scala-scala/src/library/scala/noinline.scala
155+
./scala-scala/src/library/scala/package.scala
156+
./scala-scala/src/library/scala/remote.scala
157+
./scala-scala/src/library/scala/specialized.scala
158+
./scala-scala/src/library/scala/throws.scala
159+
./scala-scala/src/library/scala/transient.scala
160+
./scala-scala/src/library/scala/unchecked.scala
161+
./scala-scala/src/library/scala/volatile.scala

test/dotc/tests.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import dotty.partest._
55
import org.junit.Test
66
import org.junit.experimental.categories._
77

8+
import scala.io.Source
9+
810

911
class tests extends CompilerTest {
1012

@@ -163,6 +165,14 @@ class tests extends CompilerTest {
163165

164166
@Test def run_all = runFiles(runDir)
165167

168+
val stdlibFiles = Source.fromFile("./test/dotc/scala-collections.whitelist", "UTF8").getLines()
169+
.map(_.trim) // allow identation
170+
.filter(!_.startsWith("#")) // allow comment lines prefixed by #
171+
.map(_.takeWhile(_ != "#").trim) // allow comments in the end of line
172+
.filter(_.nonEmpty)
173+
.toList
174+
175+
@Test def compileStdLib = compileList("compileStdLib", stdlibFiles)
166176
@Test def dotty = compileDir(dottyDir, ".", "-deep" :: "-Ycheck-reentrant" :: allowDeepSubtypes) // note the -deep argument
167177

168178
@Test def dotc_ast = compileDir(dotcDir, "ast")

0 commit comments

Comments
 (0)