about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--030container.cc2
-rw-r--r--055parse_tree.cc1
2 files changed, 2 insertions, 1 deletions
diff --git a/030container.cc b/030container.cc
index 72acd48d..03af439c 100644
--- a/030container.cc
+++ b/030container.cc
@@ -530,7 +530,7 @@ void check_invalid_types(const recipe_ordinal r) {
 void check_invalid_types(const type_tree* type, const string& block, const string& name) {
   if (!type) return;  // will throw a more precise error elsewhere
   // End Container Type Checks
-  if (type->value && Type.find(type->value) == Type.end()) {
+  if (type->value && (Type.find(type->value) == Type.end() || Type[type->value].name.empty())) {
     raise_error << block << "unknown type in " << name << '\n' << end();
   }
   if (type->left) check_invalid_types(type->left, block, name);
diff --git a/055parse_tree.cc b/055parse_tree.cc
index f71b2e19..1260bf36 100644
--- a/055parse_tree.cc
+++ b/055parse_tree.cc
@@ -57,6 +57,7 @@ string_tree* parse_string_tree(istream& in) {
 }
 
 :(scenario dilated_reagent_with_type_tree)
+% Hide_errors = true;  // 'map' isn't defined yet
 recipe main [
   {1: (map (address array character) (list number))} <- copy 34
 ]