diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-09-10 16:47:17 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-09-10 16:47:17 -0700 |
commit | 271f101f85a9b482f6cdaac677bd391159d85cee (patch) | |
tree | d6334dd440747fb04b80c24692a92ac53077acf9 /055shape_shifting_container.cc | |
parent | e7f239014819c2b401c825650091bd5b55d0a679 (diff) | |
download | mu-271f101f85a9b482f6cdaac677bd391159d85cee.tar.gz |
3321
Clean up another case (after commit 3309) of premature support for shape-shifting recipes, where early layers had code without corresponding tests. One addendum to commit 3309: the proximal cause for triggering the rewrite of type_trees was that I realized to_string() and variants were lying to me while debugging; they couldn't distinguish between `(a . b)` and `((a) . b)`
Diffstat (limited to '055shape_shifting_container.cc')
-rw-r--r-- | 055shape_shifting_container.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/055shape_shifting_container.cc b/055shape_shifting_container.cc index 131028a5..596c691e 100644 --- a/055shape_shifting_container.cc +++ b/055shape_shifting_container.cc @@ -8,6 +8,17 @@ if (!type->atom) :(before "End is_mu_exclusive_container(type) Special-cases") if (!type->atom) return is_mu_exclusive_container(root_type(type)); +// a few calls to root_type() without the assertion (for better error handling) +:(after "Update GET base_type in Check") +if (!base_type->atom) base_type = base_type->left; +:(after "Update GET base_type in Run") +if (!base_type->atom) base_type = base_type->left; +:(after "Update PUT base_type in Check") +if (!base_type->atom) base_type = base_type->left; +:(after "Update PUT base_type in Run") +if (!base_type->atom) base_type = base_type->left; +:(after "Update MAYBE_CONVERT base_type in Check") +if (!base_type->atom) base_type = base_type->left; :(scenario size_of_shape_shifting_container) container foo:_t [ |