diff --git a/src/Lib/Script/CRTPLuaScriptObject.cc b/src/Lib/Script/CRTPLuaScriptObject.cc index 522adad5466884f52fa13b870814f1ec04494950..49889be706020830df0555093798eb43ffe3ceb6 100644 --- a/src/Lib/Script/CRTPLuaScriptObject.cc +++ b/src/Lib/Script/CRTPLuaScriptObject.cc @@ -174,6 +174,20 @@ ModuleDeclaration::validateModule(lua_State *const L) const noexcept Utils::uniqAndSort<std::string>(usedImports); std::vector<std::string> unusedImports = Utils::sortedSetDifference(usedImports, importNames); + + if (!unusedImports.empty()) { + std::string listStrImports = ""; + std::size_t stringSize = 0; + for (const auto &str : unusedImports) + stringSize += 1 + str.size(); + listStrImports.reserve(stringSize); + for (const auto &str : unusedImports) + listStrImports += " " + str; + + context->setFailed("There are imported modules that are used without being declared:" + + listStrImports + "\n"); + return false; + } } return true;