1
Fork 0

Reject macro calls inside of #![crate_name]

This commit is contained in:
León Orell Valerian Liehr 2024-07-10 17:38:52 +02:00
parent 46d53a68aa
commit 9b6fd35738
No known key found for this signature in database
GPG key ID: D17A07215F68E713
21 changed files with 196 additions and 115 deletions

View file

@ -433,11 +433,11 @@ pub(crate) fn check_attr_crate_type(
}
} else {
// This is here mainly to check for using a macro, such as
// #![crate_type = foo!()]. That is not supported since the
// `#![crate_type = foo!()]`. That is not supported since the
// crate type needs to be known very early in compilation long
// before expansion. Otherwise, validation would normally be
// caught in AstValidator (via `check_builtin_attribute`), but
// by the time that runs the macro is expanded, and it doesn't
// caught during semantic analysis via `TyCtxt::check_mod_attrs`,
// but by the time that runs the macro is expanded, and it doesn't
// give an error.
validate_attr::emit_fatal_malformed_builtin_attribute(
&sess.psess,