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
* release-candidate: (153 commits)
uses u3x_at in reel and roll jets
adds comments for known-valid u3r_at calls in jets.c
remove orphaned declarations for mux and shux jets
bail %exit in _cj_site_lock if axis is not in core
Fix issue with trimming >4 character jet names
adds -S to skip battery hashes
fixes u3n_prog pointers in u3n_ream()
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
avoid allocating an atom for _cj_bash
bypass mat and chop directly in jam
use nul prefix for regular (no loc) nock formulas, fix memory leak in _cj_mile, delete unused code
kill mux and shux jets, whose services are no longer required
for posterity
all hashes
more hashes
update pill/arvo hashes
...
* 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
...