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.
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
* release-candidate: (138 commits)
adds meson option (-Dprof=true) to set U3_CPU_DEBUG
adds meson option (-Dgc=true) to set U3_MEMORY_DEBUG
refactors http card validation
fixes leak in proxy when networking is disabled
fixes leak in _http_serv_start_all
bypassed profiling bug
Eliminate cons optimization.
Remove broken assert.
Clean up some printfs.
increases tcp proxy listener timeout to 2 minutes
fixes dumb bug in tcp reverse proxy remote address resolution
Fix issue with trimming >4 character jet names
upgrades libh2o to v0.13.5 (h2o v2.2.5)
sets the http client request timeout to 2 minutes
adds an http request timer to ensure connections are always closed
adds an http request timer to ensure connections are always closed
adds (disabled) h2o access log
don't leak ship-name in _proxy_ward_connect()
refactors .http.ports write/release (avoid the loom, etc.)
updates SSL_CTX init to support any PEM private key, simplifies error handling
...