unison/unison-src/transcripts/update-type-stray-constructor.output.md
Arya Irani 354a893977 make findCtorNames return an Output instead of error
and thread that through everywhere
2023-11-14 12:21:40 -05:00

1.3 KiB

unique type Foo = Bar Nat

  I found and typechecked these definitions in scratch.u. If you
  do an `add` or `update`, here's how your codebase would
  change:
  
    ⍟ These new definitions are ok to `add`:
    
      unique type Foo

.> add

  ⍟ I've added these definitions:
  
    unique type Foo

.> move.term Foo.Bar Stray.Bar

  Done.

Now we've set up a situation where the constructor is not where it's supposed to be; it's somewhere else.

unique type Foo = Bar Nat Nat

  I found and typechecked these definitions in scratch.u. If you
  do an `add` or `update`, here's how your codebase would
  change:
  
    ⍟ These names already exist. You can `update` them to your
      new definition:
    
      unique type Foo

Note that the constructor name shown here (implied to be called Foo.Stray.Bar) doesn't really exist, it's just showing up due to a pretty-printer bug.

.> view Foo

  unique type Foo = Stray.Bar Nat

.> update

  Okay, I'm searching the branch for code that needs to be
  updated...

  I couldn't complete the update because I couldn't find 1
  constructor(s) for Foo where I expected to. I found: []
  
  You can use `view Foo` and
  `alias.term <hash> Foo.<ConstructorName>` to give names to
  each constructor, and then try again.