Skip to content

Random.javaSecuritySecureRandom doesn't link on Scala.js #2902

@rossabaker

Description

@rossabaker
//> using scala "3.1.1"
//> using lib "org.typelevel::cats-effect:3.3.8"

import cats.effect._, std._

@main def oops = Random.javaSecuritySecureRandom[SyncIO].unsafeRunSync()

Compiles, but doesn't link. Probably should be in a platform trait?

$ scala-cli run oops.scala --js
Compiling project (Scala 3.1.1, Scala.JS)
Compiled project (Scala 3.1.1, Scala.JS)
Referring to non-existent class cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
Referring to non-existent class cats.effect.std.Random
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.SyncIO
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.std.Random$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.std.Random
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.SyncIO$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.std.Random$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent method cats.effect.std.Random$.javaSecuritySecureRandom(cats.effect.kernel.Sync)java.lang.Object
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.SyncIO
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent method cats.effect.SyncIO.unsafeRunSync()java.lang.Object
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.SyncIO$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent method cats.effect.SyncIO$.syncForSyncIO()cats.effect.kernel.Sync
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.std.Random$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Cannot access module for non-module cats.effect.std.Random$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.SyncIO$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Cannot access module for non-module cats.effect.SyncIO$
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.SyncIO
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Referring to non-existent class cats.effect.kernel.Sync
  called from oops$package$.oops()cats.effect.std.Random
  called from static oops.main([java.lang.String)void
  called from core module module initializers
involving instantiated classes:
  oops$package$
Error: org.scalajs.linker.interface.LinkingException: There were linking errors

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions