[
https://issues.apache.org/jira/browse/SPARK-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Ferretti updated SPARK-2330:
-----------------------------------
Description:
Normal scala expressions are interpreted in a strange way in the spark shell.
For instance
{noformat}
case class Foo(x: Int)
def print(f: Foo) = f.x
val f = Foo(3)
print(f)
<console>:24: error: type mismatch;
found : Foo
required: Foo
{noformat}
For another example
{noformat}
trait Currency
case object EUR extends Currency
case object USD extends Currency
def nextCurrency: Currency = nextInt(2) match {
case 0 => EUR
case _ => USD
}
<console>:22: error: type mismatch;
found : EUR.type
required: Currency
case 0 => EUR
<console>:24: error: type mismatch;
found : USD.type
required: Currency
case _ => USD
{noformat}
was:
Normal scala expressions are interpreted in a strange way in the spark shell.
For instance
case class Foo(x: Int)
def print(f: Foo) = f.x
val f = Foo(3)
print(f)
<console>:24: error: type mismatch;
found : Foo
required: Foo
For another example
trait Currency
case object EUR extends Currency
case object USD extends Currency
def nextCurrency: Currency = nextInt(2) match {
case 0 => EUR
case _ => USD
}
<console>:22: error: type mismatch;
found : EUR.type
required: Currency
case 0 => EUR
<console>:24: error: type mismatch;
found : USD.type
required: Currency
case _ => USD
> Spark shell has weird scala semantics
> -------------------------------------
>
> Key: SPARK-2330
> URL: https://issues.apache.org/jira/browse/SPARK-2330
> Project: Spark
> Issue Type: Bug
> Components: Spark Core
> Affects Versions: 0.9.1, 1.0.0
> Environment: Ubuntu 14.04 with spark-x.x.x-bin-hadoop2
> Reporter: Andrea Ferretti
> Labels: scala, shell
>
> Normal scala expressions are interpreted in a strange way in the spark shell.
> For instance
> {noformat}
> case class Foo(x: Int)
> def print(f: Foo) = f.x
> val f = Foo(3)
> print(f)
> <console>:24: error: type mismatch;
> found : Foo
> required: Foo
> {noformat}
> For another example
> {noformat}
> trait Currency
> case object EUR extends Currency
> case object USD extends Currency
> def nextCurrency: Currency = nextInt(2) match {
> case 0 => EUR
> case _ => USD
> }
> <console>:22: error: type mismatch;
> found : EUR.type
> required: Currency
> case 0 => EUR
> <console>:24: error: type mismatch;
> found : USD.type
> required: Currency
> case _ => USD
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)