Github user marmbrus commented on a diff in the pull request:
https://github.com/apache/spark/pull/7920#discussion_r36267908
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala
---
@@ -348,7 +312,7 @@ abstract class TreeNode[BaseType <: TreeNode[BaseType]]
extends Product {
* that are not present in the productIterator.
* @param newArgs the new product arguments.
*/
- def makeCopy(newArgs: Array[AnyRef]): this.type = attachTree(this,
"makeCopy") {
+ def makeCopy(newArgs: Array[AnyRef]): BaseType = attachTree(this,
"makeCopy") {
--- End diff --
Sorry, this is mostly unrelated. However, using `this.type` is invalid
here, as it does not mean "the type of this object" but instead "the singleton
that is this specific object". Since the JVM has no such concept, the code
before worked... but it seemed better to remove it if I could. In other places
I left it since they would require code changes elsewhere in SQL.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]