{"push_id":2572702552,"size":1,"distinct_size":1,"ref":"refs/heads/no-modules","head":"81fc85058230d7818f955958f54d88d87789bcb6","before":"ad88c29b93f06bb75e2f4487e1fb7eb32d8ad171","commits":[{"sha":"81fc85058230d7818f955958f54d88d87789bcb6","author":{"name":"Alex Crichton","email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com"},"message":"rustc: Disallow modules and macros in expansions\n\nThis commit feature gates generating modules and macro definitions in procedural\nmacro expansions. Custom derive is exempt from this check as it would be a large\nretroactive breaking change (#50587). It's hoped that we can hopefully stem the\nbleeding to figure out a better solution here before opening up the floodgates.\n\nThe restriction here is specifically targeted at surprising hygiene results [1]\nthat result in non-\"copy/paste\" behavior. Hygiene and procedural macros is\nintended to be avoided as much as possible for Macros 1.2 by saying everything\nis \"as if you copy/pasted the code\", but modules and macros are sort of weird\nexceptions to this rule that aren't fully fleshed out.\n\n[1]: https://github.com/rust-lang/rust/issues/50504#issuecomment-387734625\n\ncc #50504","distinct":true,"url":"https://api.github.com/repos/alexcrichton/rust/commits/81fc85058230d7818f955958f54d88d87789bcb6"}]}
{"actor":{"display_login":"alexcrichton"}}