|
1 | | -``` ucm :hide |
2 | | -scratch/main> project.create-empty ambiguous |
| 1 | +🐞 |
3 | 2 |
|
4 | | -ambiguous/main> builtins.merge |
5 | | -``` |
| 3 | +🐞 |
6 | 4 |
|
7 | | -Create a flawed component which should be rejected with an ambiguous element ordering error. |
| 5 | +Sorry, you've encountered a weird situation that we are aware of and are currently working on a fix for. |
| 6 | +I'll explain what happened and how you can work around it. |
8 | 7 |
|
9 | | -``` unison |
10 | | -ping = do |
11 | | - pong() |
| 8 | +The following cyclic definition sets could not be completely ordered: |
| 9 | + * User "ping", User "pong" |
12 | 10 |
|
13 | | -pong = do |
14 | | - ping() |
15 | | -``` |
16 | 11 |
|
17 | | -``` ucm :added-by-ucm |
18 | | - Loading changes detected in scratch.u. |
| 12 | +This happens when multiple definitions in a mutually recursive cycle have a very similar structure. |
19 | 13 |
|
20 | | - + ping : 'r |
21 | | - + pong : 'r |
| 14 | +You can work around this by restructuring them to be less similar, e.g. by adding a pure expression to distinguish them, like: |
| 15 | +_ = "this is the foo definition" |
22 | 16 |
|
23 | | - Run `update` to apply these changes to your codebase. |
24 | | -``` |
25 | 17 |
|
26 | | -``` ucm :hide |
27 | | -ambiguous/main> update |
28 | | -``` |
| 18 | +This is a Unison bug and you can report it here: |
29 | 19 |
|
30 | | -Try to push, this should be rejected. |
| 20 | +https://github.com/unisonweb/unison/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+E253299+ |
31 | 21 |
|
32 | | -``` ucm |
33 | | -ambiguous/main> push @transcripts/ambiguous/main |
34 | | -``` |
| 22 | +Bug reference: E253299 |
35 | 23 |
|
36 | | -🛑 |
37 | | - |
38 | | -The transcript failed due to an error in the stanza above. The error is: |
39 | | - |
40 | | -``` |
41 | | -❗️ |
42 | | -
|
43 | | -Failed to decode a term component entity with the hash |
44 | | -#6nhsou2jbd9o95ftlp83v1dhqo7cmk0jb4tgkecmurku9en8qqnr205arlacgj3tumu6sfudhi100lqcvu2sbf4t412nngvbeuboeig |
45 | | -. |
46 | | -Please create an issue and report this to the Unison team |
47 | | -
|
48 | | -The error was: Incomplete element ordering in term components |
49 | | -``` |
| 24 | +If there's already an issue with this reference, you can give a 👍 |
| 25 | +on the issue to let the team know you encountered it, and you can add |
| 26 | +any additional details you know of to the issue. |
0 commit comments