From 496a9c87aa590a9c619f225a62b2c323d181c9ac Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Mon, 11 Dec 2017 15:36:55 -0800 Subject: [PATCH 1/2] Don't erase types in (lake %noun), which should always suceed --- sys/vane/ford.hoon | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/vane/ford.hoon b/sys/vane/ford.hoon index e995e1aaa5..d655ca9b11 100644 --- a/sys/vane/ford.hoon +++ b/sys/vane/ford.hoon @@ -1066,6 +1066,7 @@ |= {fit/? for/mark} |= {cof/cafe sam/vase} ^- (bolt vase) + ?: =(for %noun) (fine cof sam) %+ cool |.(leaf+"ford: check {<[for bek `@p`(mug q.sam)]>}") %+ cope (fang cof for) |= {cof/cafe tux/vase} From b3d5acb48b0ba03709445aab201535add6804435 Mon Sep 17 00:00:00 2001 From: Anton Dyudin Date: Mon, 11 Dec 2017 15:54:42 -0800 Subject: [PATCH 2/2] HT @belisarius222 --- sys/vane/ford.hoon | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/vane/ford.hoon b/sys/vane/ford.hoon index d655ca9b11..3e2a20afdd 100644 --- a/sys/vane/ford.hoon +++ b/sys/vane/ford.hoon @@ -1066,7 +1066,12 @@ |= {fit/? for/mark} |= {cof/cafe sam/vase} ^- (bolt vase) + :: + :: don't verify the product type when using the %noun mark, since + :: that would cast to *, which would prevent the product from + :: being used as a gate or other typed structure. ?: =(for %noun) (fine cof sam) + :: %+ cool |.(leaf+"ford: check {<[for bek `@p`(mug q.sam)]>}") %+ cope (fang cof for) |= {cof/cafe tux/vase}