Skip to content

No warning/error when matching unrelated object types #9740

Closed
@olofwalker

Description

@olofwalker

Minimized code

Dotty 0.27-RC1

object Main:

  abstract class RecoveryCompleted
  case object RecoveryCompleted extends RecoveryCompleted
  
  abstract class TypedRecoveryCompleted 
  case object TypedRecoveryCompleted extends TypedRecoveryCompleted

  TypedRecoveryCompleted match {
    case RecoveryCompleted => println("Recovery completed")
    case TypedRecoveryCompleted => println("Typed recovery completed")
  }

Output

Nothing

Expectation

Something like:

pattern type is incompatible with expected type;
 found   : ammonite.$sess.cmd5.RecoveryCompleted.type
 required: ammonite.$sess.cmd7.TypedRecoveryCompleted.type
    case RecoveryCompleted => println("Recovery completed")

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions