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

67 lines
1.2 KiB
Markdown

``` unison
unique type Foo = Bar Nat
```
``` ucm
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
```
``` ucm
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.
``` unison
unique type Foo = Bar Nat Nat
```
``` ucm
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
```
``` ucm
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.
```