Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Scala 3.0.0-RC1 #61

Merged
merged 1 commit into from
Feb 24, 2021

Conversation

jodersky
Copy link
Member

@anatoliykmetyuk
Copy link
Collaborator

CI seems to be flaky, failing for all recent master commits. I tested Scala 3 version locally and it succeeded:

Log
+ time ./mill -i 'os.jvm[3.0.0-RC1].test'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   150  100   150    0     0    632      0 --:--:-- --:--:-- --:--:--   632
100   632  100   632    0     0   1483      0 --:--:-- --:--:-- --:--:--  1483
100 58.8M  100 58.8M    0     0  2519k      0  0:00:23  0:00:23 --:--:-- 2585k
https://repo1.maven.org/maven2/de/tototec/de.tobiasroeser.mill.vcs.version_mill0.9_…
  100.0% [##########] 2.0 KiB (3.8 KiB / s)
https://repo1.maven.org/maven2/de/tototec/de.tobiasroeser.mill.vcs.version_mill0.9_…
  100.0% [##########] 1.9 KiB (46.5 KiB / s)
Compiling /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/build.sc
[31/58] os.jvm[3.0.0-RC1].compile
[info] compiling 15 Scala sources to /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/os/jvm/3.0.0-RC1/compile/dest/classes ...
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/ResourcePath.scala:74:15
[warn] 74 |  implicit def classResourceRoot(cls: java.lang.Class[_]): ResourceRoot = Class(cls)
[warn]    |               ^
[warn]    |Definition of implicit conversion method classResourceRoot should be enabled
[warn]    |by adding the import clause 'import scala.language.implicitConversions'
[warn]    |or by setting the compiler option -language:implicitConversions.
[warn]    |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]    |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/ResourcePath.scala:79:15
[warn] 79 |  implicit def classLoaderResourceRoot(cl: java.lang.ClassLoader): ResourceRoot = ClassLoader(cl)
[warn]    |               ^
[warn]    |Definition of implicit conversion method classLoaderResourceRoot should be enabled
[warn]    |by adding the import clause 'import scala.language.implicitConversions'
[warn]    |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/SubProcess.scala:178:15
[warn] 178 |  implicit def makeSourceInput[T](r: T)(implicit f: T => Source): ProcessInput = SourceInput(f(r))
[warn]     |               ^
[warn]     |Definition of implicit conversion method makeSourceInput should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn]     |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]     |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/SubProcess.scala:179:15
[warn] 179 |  implicit def makePathRedirect(p: Path): ProcessInput = PathRedirect(p
[warn]     |               ^
[warn]     |Definition of implicit conversion method makePathRedirect should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/SubProcess.scala:201:15
[warn] 201 |  implicit def makePathRedirect(p: Path): ProcessOutput = PathRedirect(p)
[warn]     |               ^
[warn]     |Definition of implicit conversion method makePathRedirect should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn]     |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]     |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/package.scala:5:15
[warn] 5 |  implicit def GlobSyntax(s: StringContext): GlobInterpolator = new GlobInterpolator(s)
[warn]   |               ^
[warn]   |Definition of implicit conversion method GlobSyntax should be enabled
[warn]   |by adding the import clause 'import scala.language.implicitConversions'
[warn]   |or by setting the compiler option -language:implicitConversions.
[warn]   |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]   |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:21:15
[warn] 21 |  implicit def fromSet(value: java.util.Set[PosixFilePermission]): PermSet = {
[warn]    |               ^
[warn]    |Definition of implicit conversion method fromSet should be enabled
[warn]    |by adding the import clause 'import scala.language.implicitConversions'
[warn]    |or by setting the compiler option -language:implicitConversions.
[warn]    |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]    |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:43:15
[warn] 43 |  implicit def fromString(arg: String): PermSet = {
[warn]    |               ^
[warn]    | Definition of implicit conversion method fromString should be enabled
[warn]    | by adding the import clause 'import scala.language.implicitConversions'
[warn]    | or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:76:15
[warn] 76 |  implicit def fromInt(value: Int): PermSet = new PermSet(value)
[warn]    |               ^
[warn]    | Definition of implicit conversion method fromInt should be enabled
[warn]    | by adding the import clause 'import scala.language.implicitConversions'
[warn]    | or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:210:15
[warn] 210 |  implicit def StringShellable(s: String): Shellable = Shellable(Seq(s)
[warn]     |               ^
[warn]     |Definition of implicit conversion method StringShellable should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn]     |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]     |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:212:15
[warn] 212 |  implicit def SymbolShellable(s: Symbol): Shellable = Shellable(Seq(s.name))
[warn]     |               ^
[warn]     |Definition of implicit conversion method SymbolShellable should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:213:15
[warn] 213 |  implicit def PathShellable(s: Path): Shellable = Shellable(Seq(s.toString))
[warn]     |               ^
[warn]     |Definition of implicit conversion method PathShellable should be enable
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:214:15
[warn] 214 |  implicit def RelPathShellable(s: RelPath): Shellable = Shellable(Seq(s.toString))
[warn]     |               ^
[warn]     |Definition of implicit conversion method RelPathShellable should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:215:15
[warn] 215 |  implicit def NumericShellable[T: Numeric](s: T): Shellable = Shellable(Seq(s.toString))
[warn]     |               ^
[warn]     |Definition of implicit conversion method NumericShellable should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:217:15
[warn] 217 |  implicit def IterableShellable[T](s: Iterable[T])(implicit f: T => Shellable): Shellable =
[warn]     |               ^
[warn]     |Definition of implicit conversion method IterableShellable should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:220:15
[warn] 220 |  implicit def ArrayShellable[T](s: Array[T])(implicit f: T => Shellable): Shellable =
[warn]     |               ^
[warn]     |Definition of implicit conversion method ArrayShellable should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Path.scala:300:15
[warn] 300 |  implicit def SubRelPath(p: SubPath): RelPath = new RelPath(p.segments0, 0)
[warn]     |               ^
[warn]     |Definition of implicit conversion method SubRelPath should be enabled
[warn]     |by adding the import clause 'import scala.language.implicitConversions'
[warn]     |or by setting the compiler option -language:implicitConversions.
[warn]     |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]     |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Source.scala:73:15
[warn] 73 |  implicit def WritableGenerator[T](a: geny.Generator[T])(implicit f: T => geny.Writable): Source ={
[warn]    |               ^
[warn]    |Definition of implicit conversion method WritableGenerator should be enabled
[warn]    |by adding the import clause 'import scala.language.implicitConversions'
[warn]    |or by setting the compiler option -language:implicitConversions.
[warn]    |See the Scala docs for value scala.language.implicitConversions for a discussion
[warn]    |why the feature should be explicitly enabled.
[warn] -- Feature Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Source.scala:85:15
[warn] 85 |  implicit def WritableTraversable[M[_], T](a: M[T])
[warn]    |               ^
[warn]    |Definition of implicit conversion method WritableTraversable should be enabled
[warn]    |by adding the import clause 'import scala.language.implicitConversions'
[warn]    |or by setting the compiler option -language:implicitConversions.
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/ProcessOps.scala:83:44
[warn] 83 |    val res = CommandResult(sub.exitCode(), chunksArr)
[warn]    |                                            ^
[warn]    |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src-jvm/ResourcePath.scala:24:37
[warn] 24 |  val segments: IndexedSeq[String] = segments0
[warn]    |                                     ^
[warn]    |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/ListOps.scala:23:25
[warn] 23 |  def apply(src: Path) = apply(src, true)
[warn]    |                         ^
[warn]    |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/ListOps.scala:93:4
[warn] 93 |    stream(path, skip, preOrder, followLinks, maxDepth, includeTarget).toArray[Path]
[warn]    |    ^
[warn]    |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/ListOps.scala:124:4
[warn] 124 |    stream.attrs(path, skip, preOrder, followLinks, maxDepth, includeTarget)
[warn]     |    ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Model.scala:221:14
[warn] 221 |    Shellable(s.flatMap(f(_).value))
[warn]     |              ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Path.scala:33:29
[warn] 33 |    val inner = SeqPathChunk(a)(f)
[warn]    |                             ^
[warn]    |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Path.scala:243:37
[warn] 243 |  val segments: IndexedSeq[String] = segments0
[warn]     |                                     ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Path.scala:309:37
[warn] 309 |  val segments: IndexedSeq[String] = segments0
[warn]     |                                     ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Path.scala:316:74
[warn] 316 |  def relativeTo(base: SubPath): RelPath = SubPath.relativeTo0(segments0, base.segments0)
[warn]     |                                                                          ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/ReadWriteOps.scala:330:35
[warn] 330 |    def apply(src: ReadablePath) = stream(src).toArray[String]
[warn]     |                                   ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/ReadWriteOps.scala:332:6
[warn] 332 |      stream(arg, charSet).toArray[String]
[warn]     |      ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Source.scala:94:21
[warn] 94 |            for(x <- traversable) f0(x).writeBytesTo(out)
[warn]    |                     ^^^^^^^^^^^
[warn]    |method foreach in class IterableOnceExtensionMethods is deprecated since 2.13.0: Use .iterator.foreach(...) instead
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Source.scala:107:33
[warn] 107 |  def getChannel() = getHandle().right.get
[warn]     |                     ^^^^^^^^^^^^^^^^^
[warn]     |method right in class Either is deprecated since 2.13.0: Either is now right-biased, use methods directly on Either
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/src/Source.scala:107:39
[warn] 107 |  def getChannel() = getHandle().right.get
[warn]     |                     ^^^^^^^^^^^^^^^^^^^^^
[warn]     |method get in class RightProjection is deprecated since 2.13.0: Use `Either.getOrElse` instead
[warn] 34 warnings found
[warn] 34 warnings found
[info] done compiling
[51/58] os.jvm[3.0.0-RC1].test.compile
[info] compiling 15 Scala sources to /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/os/jvm/3.0.0-RC1/test/compile/dest/classes ...
[warn] -- [E129] Potential Issue Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/ExampleTests.scala:181:6
[warn] 181 |      rel1: os.RelPath
[warn]     |      ^^^^^^^^^^^^^^^^
[warn]     |A pure expression does nothing in statement position; you may be omitting necessary parentheses
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/ExampleTests.scala:111:51
[warn] 111 |      def freq(s: Seq[String]) = s.groupBy(x => x).mapValues(_.length).toSeq
[warn]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]     |method mapValues in trait MapOps is deprecated since 2.13.0: Use .view.mapValues(f). A future version will include a strict version of this method (for now, .view.mapValues(f).toMap).
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/ExampleTests.scala:122:10
[warn] 122 |          f.listFiles.filter(_.isDirectory).flatMap(getRecursively) ++ f.listFiles
[warn]     |          ^
[warn]     |method copyArrayToImmutableIndexedSeq in class LowPriorityImplicits2 is deprecated since 2.13.0: Implicit conversions from Array to immutable.IndexedSeq are implemented by copying; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:28:16
[warn] 28 |        res.out.string().contains("File.txt"),
[warn]    |        ^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:29:16
[warn] 29 |        res.out.string().contains("folder1"),
[warn]    |        ^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:30:16
[warn] 30 |        res.out.string().contains("folder2")
[warn]    |        ^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:42:39
[warn] 42 |        proc("git", "init").call().out.string().contains("Reinitialized existing Git repository"),
[warn]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:43:39
[warn] 43 |        proc("git", "init").call().out.string().contains("Reinitialized existing Git repository"),
[warn]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:44:36
[warn] 44 |        proc(lsCmd, pwd).call().out.string().contains("readme.md")
[warn]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:49:49
[warn] 49 |      val output = proc(lsCmd, files).call().out.string()
[warn]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]    |              method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:56:26
[warn] 56 |        assert(result.out.string().contains("Hello, " + stuff.mkString(" ") + " hear me roar"))
[warn]    |               ^^^^^^^^^^^^^^^^^
[warn]    |              method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:58:26
[warn] 58 |        assert(result.out.string().contains("Hello, " + stuff.mkString(" ") + " \"hear me roar\""))
[warn]    |               ^^^^^^^^^^^^^^^^^
[warn]    |              method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:67:16
[warn] 67 |        res.err.string().contains("No such file or directory") || // uni
[warn]    |        ^^^^^^^^^^^^^^
[warn]    |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:68:18
[warn] 68 |          res.err.string().contains("File Not Found") // win
[warn]    |          ^^^^^^^^^^^^^^
[warn]    |          method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:81:23
[warn] 81 |        assert(res.out.string().trim()== "Hello123")
[warn]    |               ^^^^^^^^^^^^^^
[warn]    |              method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:89:36
[warn] 89 |        val echoRoot = Path(res.out.string().trim())
[warn]    |                            ^^^^^^^^^^^^^^
[warn]    |              method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:124:36
[warn] 115 |        os.proc("python", "-c",
[warn] 116 |        """import sys, time
[warn] 117 |          |for i in range(5):
[warn] 118 |          |  for j in range(10):
[warn] 119 |          |    sys.stdout.write(str(j))
[warn] 120 |          |    # Make sure it comes as multiple chunks, but close together!
[warn] 121 |          |    # Vary how close they are together to try and trigger race conditions
[warn] 122 |          |    time.sleep(0.00001 * i)
[warn] 123 |          |    sys.stdout.flush()
[warn] 124 |        """.stripMargin).call().out.string() ==>
[warn]     |        ^
[warn]     |        method string in trait ByteData is deprecated: Use .text()
[warn] -- Deprecation Warning: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/src-jvm/SubprocessTests.scala:131:52
[warn] 131 |          os.proc("jar", "-tf", jarFile).call().out.string(),
[warn]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[warn]     |          method string in trait ByteData is deprecated: Use .text()
[warn] 18 warnings found
[warn] 18 warnings found
[info] done compiling
[58/58] os.jvm[3.0.0-RC1].test.test
-------------------------------- Running Tests --------------------------------
+ test.os.FilesystemPermissionsTests.perms.0 78ms
+ test.os.FilesystemPermissionsTests.owner.0 7ms
+ test.os.FilesystemPermissionsTests.group.0 20ms
-------------------------------- Running Tests --------------------------------
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/File.txt
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/echo
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/file-symlink
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/broken-abs-symlink
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/binary.png
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/folder-symlink
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/broken-symlink
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/misc/echo_with_wd
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/Multi Line.txt
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder2
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder2/nestedA
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder2/nestedA/a.txt
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder2/nestedB
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder2/nestedB/b.txt
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/os
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/os/folder
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/os/folder/file.txt
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder1
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/os/test/resources/test/folder1/one.txt
+ test.os.OpTestsJvmOnly.lsR 60ms
+ test.os.OpTestsJvmOnly.lsRecPermissions 7ms
+ test.os.OpTestsJvmOnly.readResource.positive.absolute 11ms
+ test.os.OpTestsJvmOnly.readResource.positive.relative 3ms
+ test.os.OpTestsJvmOnly.readResource.negative.0 3ms  os.ResourceNotFoundException: mill.api.ClassLoader$$anon$1@4b53f538/folder/file.txt
+ test.os.OpTestsJvmOnly.readResource.negative.1 0ms  os.ResourceNotFoundException: mill.api.ClassLoader$$anon$1@4b53f538:test.os.Testing/test/os/folder/file.txt
+ test.os.OpTestsJvmOnly.readResource.negative.2 1ms  os.ResourceNotFoundException: mill.api.ClassLoader$$anon$1@4b53f538:test.os.OpTestsJvmOnly$/test/os/folder/file.txt
+ test.os.OpTestsJvmOnly.readResource.negative.3 0ms  os.ResourceNotFoundException: mill.api.ClassLoader$$anon$1@4b53f538/folder/file.txt
+ test.os.OpTestsJvmOnly.Mutating.cp.basic 41ms
+ test.os.OpTestsJvmOnly.Mutating.cp.deep 6ms
+ test.os.OpTestsJvmOnly.Mutating.mv.basic 12ms
+ test.os.OpTestsJvmOnly.Mutating.mv.shallow.partialMoves 27ms
+ test.os.OpTestsJvmOnly.Mutating.mv.shallow.fullMoves 27ms  scala.MatchError: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/moving2/py.A (of class os.Path)
+ test.os.OpTestsJvmOnly.Mutating.mv.deep.partialMoves 16ms
+ test.os.OpTestsJvmOnly.Mutating.mv.deep.fullMoves 10ms
+ test.os.OpTestsJvmOnly.Mutating.mkdirRm.singleFolder 5ms
+ test.os.OpTestsJvmOnly.Mutating.mkdirRm.nestedFolders 5ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.simple 3ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.autoMkdir 2ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.binary 5ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.concatenating 10ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.writeAppend 5ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.writeOver 4ms
+ test.os.OpTestsJvmOnly.Mutating.readWrite.charset 8ms
+ test.os.OpTestsJvmOnly.Mutating.Failures.nonexistant.0 4ms  java.nio.file.NoSuchFileException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/nonexistent
+ test.os.OpTestsJvmOnly.Mutating.Failures.nonexistant.1 1ms  java.nio.file.NoSuchFileException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/nonexistent
+ test.os.OpTestsJvmOnly.Mutating.Failures.nonexistant.2 1ms  java.nio.file.NoSuchFileException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/nonexistent
+ test.os.OpTestsJvmOnly.Mutating.Failures.nonexistant.3 1ms  java.nio.file.NoSuchFileException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/nonexistent
+ test.os.OpTestsJvmOnly.Mutating.Failures.collisions.0 2ms  java.nio.file.FileAlreadyExistsException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/folder
+ test.os.OpTestsJvmOnly.Mutating.Failures.collisions.1 3ms  java.nio.file.FileAlreadyExistsException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/folder
+ test.os.OpTestsJvmOnly.Mutating.Failures.collisions.2 2ms  java.nio.file.FileAlreadyExistsException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/test/failures/file
-------------------------------- Running Tests --------------------------------
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 53814  100 53814    0     0  67861      0 --:--:-- --:--:-- --:--:-- 67861
+ test.os.ExampleTests.splash 870ms
+ test.os.ExampleTests.concatTxt 10ms
+ test.os.ExampleTests.subprocessConcat 33ms
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 53814  100 53814    0     0  83174      0 --:--:-- --:--:-- --:--:-- 1030k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 53814  100 53814    0     0  81413      0 --:--:-- --:--:-- --:--:-- 81413
+ test.os.ExampleTests.curlToTempFile 1364ms
+ test.os.ExampleTests.lineCount 24ms
+ test.os.ExampleTests.largestThree 23ms
+ test.os.ExampleTests.moveOut 22ms  ArraySeq((), (), (), (), (), (), ())
+ test.os.ExampleTests.frequency 42ms  List((I,4), (Contents,3), (of,3), (nested,2), (am,2), (cow,2), (as,2), (barbecue,1), (weigh,1), (good,1), (look,1), (B,1), (much,1), (Hear,1), (moo,1), (the,1), (A,1), (And,1), (twice,1), (you,1), (contents,1), (folder,1), (on,1), (me,1), (file,1), (lols,1), (one,1))
out/scratch/folder/thing/file
+ test.os.ExampleTests.comparison 11ms
+ test.os.ExampleTests.constructingPaths 0ms  /Users/kmetiuk/Projects/scala3/clones
+ test.os.ExampleTests.newPath 0ms
+ test.os.ExampleTests.relPaths 2ms  folder/file
+ test.os.ExampleTests.subPaths 2ms  java.lang.IllegalArgumentException: requirement failed
+ test.os.ExampleTests.relSubPathEquality 1ms
+ test.os.ExampleTests.relPathCombine 1ms
+ test.os.ExampleTests.subPathCombine 7ms
+ test.os.ExampleTests.pathUp 1ms
+ test.os.ExampleTests.relPathUp 1ms
+ test.os.ExampleTests.relPathUp 1ms
+ test.os.ExampleTests.canonical 2ms
+ test.os.ExampleTests.findWc 10ms
+ test.os.ExampleTests.noLongLines 110ms
+ test.os.ExampleTests.rename 0ms
+ test.os.ExampleTests.allSubpathsResolveCorrectly 257ms
-------------------------------- Running Tests --------------------------------
+ test.os.ReadingWritingTests.read.0 9ms
+ test.os.ReadingWritingTests.read.inputStream.0 15ms
+ test.os.ReadingWritingTests.read.bytes.0 14ms
+ test.os.ReadingWritingTests.read.chunks.0 19ms
+ test.os.ReadingWritingTests.read.lines.0 14ms
I am cow
Hear me moo
I weigh twice as much as you
And I look good on the barbecue
+ test.os.ReadingWritingTests.read.lines.stream.0 17ms
+ test.os.ReadingWritingTests.write.0 29ms
+ test.os.ReadingWritingTests.write.append.0 15ms
+ test.os.ReadingWritingTests.write.over.0 17ms
+ test.os.ReadingWritingTests.write.inputStream.0 12ms
+ test.os.ReadingWritingTests.truncate.0 12ms
-------------------------------- Running Tests --------------------------------
+ test.os.OpTests.ls 2ms
+ test.os.OpTests.rm 0ms  java.nio.file.NoSuchFileException: /Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/nonexistent
-------------------------------- Running Tests --------------------------------
+ test.os.ListingWalkingTests.list.0 16ms
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/ListingWalkingTests/tests/list/stream/0/folder2/nestedA
/Users/kmetiuk/Projects/scala3/clones/singapore-stack/os/out/scratch/ListingWalkingTests/tests/list/stream/0/folder2/nestedB
+ test.os.ListingWalkingTests.list.stream.0 14ms
+ test.os.ListingWalkingTests.walk.0 11ms
+ test.os.ListingWalkingTests.walk.attrs.0 8ms
+ test.os.ListingWalkingTests.walk.stream.0 11ms
+ test.os.ListingWalkingTests.walk.stream.attrs.0 15ms
-------------------------------- Running Tests --------------------------------
+ test.os.ManipulatingFilesFoldersTests.exists.0 14ms
+ test.os.ManipulatingFilesFoldersTests.move.0 10ms
+ test.os.ManipulatingFilesFoldersTests.move.matching.0 15ms
+ test.os.ManipulatingFilesFoldersTests.move.into.0 10ms
+ test.os.ManipulatingFilesFoldersTests.move.over.0 8ms
+ test.os.ManipulatingFilesFoldersTests.copy.0 11ms
+ test.os.ManipulatingFilesFoldersTests.copy.into.0 12ms
+ test.os.ManipulatingFilesFoldersTests.copy.over.0 12ms
+ test.os.ManipulatingFilesFoldersTests.makeDir.0 6ms
+ test.os.ManipulatingFilesFoldersTests.makeDir.all.0 7ms
+ test.os.ManipulatingFilesFoldersTests.remove.0 8ms
+ test.os.ManipulatingFilesFoldersTests.remove.link.0 12ms
+ test.os.ManipulatingFilesFoldersTests.remove.all.0 10ms
+ test.os.ManipulatingFilesFoldersTests.remove.all.link.0 12ms
+ test.os.ManipulatingFilesFoldersTests.hardlink.0 8ms
+ test.os.ManipulatingFilesFoldersTests.symlink.0 14ms
+ test.os.ManipulatingFilesFoldersTests.followLink.0 16ms
+ test.os.ManipulatingFilesFoldersTests.readLink.0 13ms
+ test.os.ManipulatingFilesFoldersTests.temp.0 15ms
+ test.os.ManipulatingFilesFoldersTests.temp.dir.0 14ms
-------------------------------- Running Tests --------------------------------
+ test.os.PathTestsJvmOnly.construction.symlinks.nestedSymlinks 5ms
+ test.os.PathTestsJvmOnly.construction.symlinks.danglingSymlink 5ms
-------------------------------- Running Tests --------------------------------
+ test.os.PathTests.Basic.Transformers 3ms
+ test.os.PathTests.Basic.BasePath.baseName 1ms
+ test.os.PathTests.Basic.BasePath.ext 0ms
+ test.os.PathTests.Basic.RelPath.Constructors.Symbol 2ms
+ test.os.PathTests.Basic.RelPath.Constructors.String 0ms
+ test.os.PathTests.Basic.RelPath.Constructors.Combos.ArrayString 6ms
+ test.os.PathTests.Basic.RelPath.Constructors.Combos.ArraySymbol 1ms
+ test.os.PathTests.Basic.RelPath.Constructors.Combos.SeqString 1ms
+ test.os.PathTests.Basic.RelPath.Constructors.Combos.SeqSymbol 1ms
+ test.os.PathTests.Basic.RelPath.Constructors.Combos.SeqSeqSeqSymbol 1ms
+ test.os.PathTests.Basic.RelPath.Relativize.0 2ms
+ test.os.PathTests.Basic.RelPath.Relativize.1 0ms
+ test.os.PathTests.Basic.RelPath.Relativize.2 0ms
+ test.os.PathTests.Basic.RelPath.Relativize.3 0ms
+ test.os.PathTests.Basic.RelPath.Relativize.4 0ms
+ test.os.PathTests.Basic.RelPath.Relativize.5 1ms  os.PathError$NoRelativePath: Can't relativize relative paths omg/bbq from ../omg/bbq
+ test.os.PathTests.Basic.SubPath.Constructors.Symbol 1ms
+ test.os.PathTests.Basic.SubPath.Constructors.String 0ms
+ test.os.PathTests.Basic.SubPath.Constructors.Combos.ArrayString 1ms
+ test.os.PathTests.Basic.SubPath.Constructors.Combos.ArraySymbol 0ms
+ test.os.PathTests.Basic.SubPath.Constructors.Combos.SeqString 3ms
+ test.os.PathTests.Basic.SubPath.Constructors.Combos.SeqSymbol 1ms
+ test.os.PathTests.Basic.SubPath.Constructors.Combos.SeqSeqSeqSymbol 2ms
+ test.os.PathTests.Basic.SubPath.Relativize.0 1ms
+ test.os.PathTests.Basic.SubPath.Relativize.1 0ms
+ test.os.PathTests.Basic.SubPath.Relativize.2 0ms
+ test.os.PathTests.Basic.SubPath.Relativize.3 0ms
+ test.os.PathTests.Basic.AbsPath.Constructor 1ms
+ test.os.PathTests.Basic.AbsPath.Relativize.0 1ms
+ test.os.PathTests.Basic.AbsPath.Relativize.1 0ms
+ test.os.PathTests.Basic.AbsPath.Relativize.2 0ms
+ test.os.PathTests.Basic.AbsPath.Relativize.3 0ms
+ test.os.PathTests.Basic.AbsPath.Relativize.4 0ms  os.PathError$NoRelativePath: Can't relativize relative paths omg/bbq from ../omg/bbq
+ test.os.PathTests.Basic.Ups.RelativeUps 1ms
+ test.os.PathTests.Basic.Ups.AbsoluteUps 0ms  os.PathError$AbsolutePathOutsideRoot$: The path created has enough ..s that it would start outside the root directory
+ test.os.PathTests.Basic.Ups.RootUpBreak 1ms  os.PathError$AbsolutePathOutsideRoot$: The path created has enough ..s that it would start outside the root directory
+ test.os.PathTests.Basic.Comparison.Relative 1ms
+ test.os.PathTests.Basic.Comparison.Absolute 0ms
+ test.os.PathTests.Basic.Comparison.Invalid 5ms
  Type("omg"/"wtf" > root/"omg"/"wtf"
       ^,value / is not a member of String, but could be made available as an extension method.

One of the following imports might make progress towards fixing the problem:

  import math.Fractional.Implicits.infixFractionalOps
    import math.Integral.Implicits.infixIntegralOps
    import sourcecode.Text.generate

)
+ test.os.PathTests.Errors.InvalidChars 6ms
+ test.os.PathTests.Errors.InvalidSegments 2ms  os.PathError$InvalidSegment: [..] is not a valid path segment. OS-Lib does not allow [..] as a path segment If you are dealing with path-strings coming from external sources, use the Path(...) or RelPath(...) constructor calls to convert them. If you want to use the `..` segment manually to represent going up one level in the path, use the `up` segment from `os.up` e.g. an external path foo/bar/../baz translates into 'foo/'bar/up/'baz.
+ test.os.PathTests.Errors.EmptySegment 1ms  os.PathError$InvalidSegment: [..] is not a valid path segment. OS-Lib does not allow [..] as a path segment If you are dealing with path-strings coming from external sources, use the Path(...) or RelPath(...) constructor calls to convert them. If you want to use the `..` segment manually to represent going up one level in the path, use the `up` segment from `os.up` e.g. an external path foo/bar/../baz translates into 'foo/'bar/up/'baz.
+ test.os.PathTests.Errors.CannotRelativizeAbsAndRel 0ms
+ test.os.PathTests.Errors.InvalidCasts 1ms
+ test.os.PathTests.Errors.Pollution 0ms
  Type( "omg".ext
         ^,value ext is not a member of String, but could be made available as an extension method.

The following import might make progress towards fixing the problem:

  import sourcecode.Text.generate

)
+ test.os.PathTests.Extractors.paths 0ms
+ test.os.PathTests.sorting 0ms
+ test.os.PathTests.construction.success 2ms
+ test.os.PathTests.construction.basepath 0ms
+ test.os.PathTests.construction.based 0ms
+ test.os.PathTests.construction.failure 1ms
-------------------------------- Running Tests --------------------------------
+ test.os.SubprocessTests.lines 15ms
+ test.os.SubprocessTests.string 9ms
+ test.os.SubprocessTests.bytes 9ms
+ test.os.SubprocessTests.chained 54ms
+ test.os.SubprocessTests.basicList 7ms
+ test.os.SubprocessTests.listMixAndMatch 9ms
+ test.os.SubprocessTests.failures 12ms
+ test.os.SubprocessTests.filebased 20ms
+ test.os.SubprocessTests.filebased2 13ms
+ test.os.SubprocessTests.envArgs 39ms
+ test.os.SubprocessTests.multiChunk.bashC 126ms
+ test.os.SubprocessTests.multiChunk.jarTf 137ms
+ test.os.SubprocessTests.workingDirectory 16ms
+ test.os.SubprocessTests.customWorkingDir 14ms
+ test.os.SubprocessTests.fileCustomWorkingDir 7ms
-------------------------------- Running Tests --------------------------------
ls: doesnt-exist: No such file or directory
+ test.os.SpawningSubprocessesTests.proc.call.0 95ms
+ test.os.SpawningSubprocessesTests.proc.call.1 2019ms
+ test.os.SpawningSubprocessesTests.proc.stream.0 24ms
+ test.os.SpawningSubprocessesTests.proc.stream.1 15ms
Python 2.7.16
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 53814  100 53814    0     0  87360      0 --:--:-- --:--:-- --:--:-- 87360
+ test.os.SpawningSubprocessesTests.proc.spawn.0 701ms
+ test.os.SpawningSubprocessesTests.proc.spawn callback.0 17ms
-------------------------------- Running Tests --------------------------------
+ test.os.FilesystemMetadataTests.stat.0 10ms
+ test.os.FilesystemMetadataTests.isFile.0 5ms
+ test.os.FilesystemMetadataTests.isDir.0 11ms
+ test.os.FilesystemMetadataTests.isLink.0 13ms
+ test.os.FilesystemMetadataTests.size.0 12ms
+ test.os.FilesystemMetadataTests.mtime.0 15ms
       79.80 real       158.90 user         7.55 sys

@anatoliykmetyuk anatoliykmetyuk merged commit 0020e43 into com-lihaoyi:master Feb 24, 2021
@anatoliykmetyuk anatoliykmetyuk deleted the backprop branch February 24, 2021 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants