Skip to content

PPAbsyn raises exception when pattern matching on infix constructor #348

Description

@zbyrn

Version

110.99.7.1 (Latest)

Operating System

  • Any
  • Linux
  • macOS
  • Windows
  • Other Unix

OS Version

No response

Processor

  • Any
  • Arm (using Rosetta)
  • PowerPC
  • Sparc
  • x86 (32-bit)
  • x86-64 (64-bit)
  • Other

System Component

Core system

Severity

Cosmetic

Description

When an infix constructor is not used as an infix, the pretty printer raises an exception when the following pattern is not a tuple pattern. @bquiring originally discovered this bug.

Example,

case [1] of op:: x => x;

When the pretty printer is invoked to report the match non-exhaustiveness warning, it throws an exception.

Transcript

Standard ML of New Jersey [Version 110.99.7.1; 64-bit; January 17, 2025]
- case [1] of op:: x => x;
Error: Compiler bug: PPAbsyn: ppDconPat'[APPpat]
-

Expected Behavior

No response

Steps to Reproduce

case [1] of op:: x => x;

Additional Information

No response

Email address

byronzhong@cs.uchicago.edu

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingcompilerproblem with compilerfixed-in-110.99.8Issues fixed in the 110.99.8 release

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions