summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r--cpp/src/Slice/Parser.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index 8a138ebf4a0..07df9c2f75e 100644
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.cpp
@@ -1309,23 +1309,19 @@ Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError, boo
}
return TypeList();
}
- if(typeError && results.empty() && printError)
- {
- for(vector<string>::const_iterator p = errors.begin(); p != errors.end(); ++p)
- {
- _unit->error(*p);
- }
- }
- return results;
}
- else
+
+ //
+ // Do not emit errors if there was a type error but a match was found in a higher scope.
+ //
+ if(printError && !(typeError && !results.empty()))
{
for(vector<string>::const_iterator p = errors.begin(); p != errors.end(); ++p)
{
_unit->error(*p);
}
- return results;
}
+ return results;
}
ContainedList