|
Scala example source code file (fail6.scala)
The Scala fail6.scala source code// BoxedUnit/Unit confusion involving while. // // Apply( // sym=method while$1, tpe=Unit, tpe.sym=class Unit, tpe.sym.owner=package scala // Ident("while$1"), // sym=method while$1, sym.owner=method f, sym.tpe=()Unit, tpe=()Unit, tpe.sym=<none>, class Erasure { def f(b: Boolean) = { if (b) "abc" else while (b) () } } // % work/check all -Xprint:erasure work/fail6.scala // TypeStack init: REFERENCE(type AnyRef) // [Not checkable: parser] // [Not checkable: namer] // [Not checkable: packageobjects] // [Now checking: typer] // [Now checking: superaccessors] // [Now checking: pickler] // [Now checking: refchecks] // [Now checking: selectiveanf] // [Now checking: liftcode] // [Now checking: selectivecps] // [Now checking: uncurry] // [Now checking: tailcalls] // [Not checkable: specialize] // [Not checkable: explicitouter] // [[syntax trees at end of erasure]]// Scala source: fail6.scala // package <empty> { // class Erasure extends java.lang.Object with ScalaObject { // def this(): Erasure = { // Erasure.super.this(); // () // }; // def f(b: Boolean): java.lang.Object = if (b) // "abc" // else // while$1(){ // if (b) // { // (); // while$1() // } // else // (); // scala.runtime.BoxedUnit.UNIT // } // } // } // // [Now checking: erasure] // work/fail6.scala:4: error: // **** ERROR DURING INTERNAL CHECKING **** // type mismatch; // found : scala.runtime.BoxedUnit // required: Unit // else while (b) () // ^ // one error found // // Other Scala examples (source code examples)Here is a short list of links related to this Scala fail6.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.