fork(4) download
  1. object Main extends App {
  2.  
  3. implicit val mc = new MyClass(8)
  4. val ti = new TestImplct
  5. ti.test
  6. }
  7.  
  8. class TestImplct {
  9. def test(implicit mc : MyClass): Unit = {
  10. println(mc.i)
  11. mc.i -= 1
  12. if(mc.i < 0){
  13. throw new IllegalArgumentException
  14. }
  15. test
  16. }
  17. }
  18.  
  19. class MyClass(var i : Int)
Runtime error #stdin #stdout #stderr 0.14s 322496KB
stdin
Standard input is empty
stdout
8
7
6
5
4
3
2
1
0
stderr
Exception in thread "main" java.lang.IllegalArgumentException
	at TestImplct.test(Main.scala:13)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at TestImplct.test(Main.scala:15)
	at Main$.delayedEndpoint$Main$1(Main.scala:5)
	at Main$delayedInit$body.apply(Main.scala:1)
	at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
	at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
	at scala.App$$anonfun$main$1.apply(App.scala:76)
	at scala.App$$anonfun$main$1.apply(App.scala:76)
	at scala.collection.immutable.List.foreach(List.scala:381)
	at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
	at scala.App$class.main(App.scala:76)
	at Main$.main(Main.scala:1)
	at Main.main(Main.scala)