summaryrefslogtreecommitdiff
path: root/src/expand/std_prelude.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expand/std_prelude.cpp')
-rw-r--r--src/expand/std_prelude.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/expand/std_prelude.cpp b/src/expand/std_prelude.cpp
index b7493570..a46740a7 100644
--- a/src/expand/std_prelude.cpp
+++ b/src/expand/std_prelude.cpp
@@ -41,6 +41,15 @@ class Decorator_NoPrelude:
{
public:
AttrStage stage() const override { return AttrStage::EarlyPre; }
+
+ void handle(const Span& sp, const AST::MetaItem& mi, ::AST::Crate& crate, const AST::Path& path, AST::Module& mod, AST::Item&i) const override {
+ if( i.is_Module() ) {
+ i.as_Module().m_insert_prelude = false;
+ }
+ else {
+ ERROR(sp, E0000, "Invalid use of #[no_prelude] on non-module");
+ }
+ }
};