There is a variance bug such that the following cast is allowed to go through:
```
> =a 12
> =core1 ^? |=(b=@ a)
> =a "hello"
> =core2 ^? |=(b=@ a)
> ^+(core1 core2)
```
This should not be! The code in `hoon.hoon` is correct -- it turns out that the jet is wrong however. It falsely returns "yes" for a nest in which two cores have identical code. Obviously that's not enough to guarantee sameness of type. So I've removed the offending lines.
* release-candidate: (21 commits)
zinc gate casting bug
Bug fix for metal-wrapping runes
converting iron and zinc cores to lead bug
8. updates nock 4K spec
7. updates %5 to require two subformulas (nock 4K)
6. implements edit at %10 (nock 4K)
5. removes %13 and %14 (nock 4K)
4. emits %11 and %12 (nock 4K)
3. implements hint at %11 and wish at %12 (nock 4K)
2. removes %10 and %11 (nock 4K)
1. duplicates hint (%10) and wish (%11) at %13 and %14 (nock 4K)
Disable terminal echo on passcode entry
increased inbound request and ward timeouts to 5 min
mutating edit
bail in _n_edit on invalid path
avoid allocating an atom for _cj_bash
bypass mat and chop directly in jam
small memory leak for large edits
disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
bugfixes
...
Casting with a `^&` rune example fails because of a minor jet typo:
```
> ^+(^&(|=(@ 15)) |=(@ 15))
-gene.[%ktpd %brts [%base %atom 0] %sand %ud 15]
play-open-z
ford: %slim failed:
ford: %ride failed to compute type:
```
The above cast should go through. This fix makes that happen.
A bug causes this cast to go through:
```
^+(|=(@ 15) ^&(|=(@ 15)))
```
It should nest-fail. This change makes the cast work correctly with the metal wrapping runes `^&`, `^|`, and `^?`.
In the current release candidate, this happens:
```
> ^?(^|(add))
wrap-gold
ford: %slim failed:
ford: %ride failed to compute type:
```
This is a jet mismatch from `+wrap`, I believe:
https://github.com/urbit/arvo/blob/release-candidate/sys/hoon.hoon#L11139
You should be able to convert iron and zinc cores to lead.
* fodwyt/edit:
mutating edit
bail in _n_edit on invalid path
avoid allocating an atom for _cj_bash
bypass mat and chop directly in jam
small memory leak for large edits
disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
bugfixes
first pass at nock 12 impl