unison/unison-src/transcripts/update-type-missing-constructor.output.md
2024-07-23 13:45:16 -04:00

1.2 KiB

unique type Foo = Bar Nat

  Loading changes detected in scratch.u.

  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`:
    
      type Foo

scratch/main> add

  ⍟ I've added these definitions:
  
    type Foo

scratch/main> delete.term Foo.Bar

  Done.

Now we've set up a situation where the original constructor missing.

unique type Foo = Bar Nat Nat

  Loading changes detected in scratch.u.

  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:
    
      type Foo

scratch/main> view Foo

  type Foo = #b509v3eg4k#0 Nat

scratch/main> update

  Sorry, I wasn't able to perform the update:
  
  The type Foo has some constructors with missing names, and I
  can't perform an update in this situation.
  
  You can use `view Foo` and
  `alias.term <hash> Foo.<ConstructorName>` to give names to
  each unnamed constructor, and then try the update again.