Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
C
compiler
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 18
    • Issues 18
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • clean-compiler-and-rts
  • compiler
  • Issues
  • #51

Closed
Open
Opened Oct 23, 2019 by Camil Staps@cstaps🚀Developer

New semantics for overlapping instances and instances of abstract synonym types

Under the old semantics it was possible to define an abstract type A (:== Int), and implement toInt A where toInt i = i. Under the new semantics this is not possible any more.

This is a very useful feature when a newtype is not a good option because it would lead to (un)casts everywhere in the code (even if they are just syntactical). Is there a way to get this working with the new overlapping detection algorithm?

Edited Oct 23, 2019 by Camil Staps
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: clean-compiler-and-rts/compiler#51