Comments (5)
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.
from lang-team.
Summary of comments from Zulip thus far:
- The problem is real and well-motivated.
- However, there are significant concerns about implementation complexity.
- The syntax is a bit odd, since
pub(macro)
is really a "visibility" in the same sense as today's language (i.e., it doesn't specify a visibility to a particular module).
from lang-team.
We discussed this in our meeting today. Based on that discussion I'm putting this in final comment period with disposition to close (for now...).
The general sense was that this was solving a real problem, but we tended to agree with @petrochenkov that the syntax itself wasn't really making the problem much easier. In other words, we would still need to have a solution to the "hygiene challenge" of giving macro-generated code access to items based on the location of the macro that generated it, and it's not clear that declaring such items as pub(macro)
makes this especially easier (and it's also not clear that we would want such a syntax except to aid in the implementation). This isn't to say, I think, that anybody was opposed to some syntax if it was useful.
More generally, it feels like we clearly need a hygiene / macros-2.0 project group to chase down these designs. But this is a longstanding issue where we don't presently have the bandwidth available (and it would require some amount of core lang-team involvement, I believe, as well as experts like @petrochenkov).
Thanks to @ethanboxx for the proposal. ❤️
from lang-team.
Sounds like a sensible decision.
If and when the bandwidth for a hygiene / macros-2.0 project group is available it would be cool to be involved.
Thank you for discussing my proposal.
from lang-team.
Check-in from the lang-team meeting:
- We are going to close this proposal per prior move.
- But we agree that the problem needs to be solved and will add a note to the 'shortlist' section to encourage us to revisit it if/when bandwidth becomes available.
from lang-team.
Related Issues (20)
- discuss/resolve `fn { mod { (use) super::...; } }` and its interaction with derive patterns HOT 1
- Design Meeting: Field Projection HOT 6
- Design meeting: Non-local errors (aka post-monomorphization errors) HOT 2
- Interface between opsem and lang team HOT 4
- Temporary lifetimes HOT 2
- lang agenda generator ignores lang-nominated closed issues HOT 4
- Keyword Generics Initiative Update HOT 3
- The #[diagnostic] attribute namespace HOT 2
- Type alias impl Trait HOT 1
- TAIT defining scope options HOT 2
- RPITIT stabilization schedule, refine HOT 2
- Return type notation and the Send bound problem HOT 1
- Rust 2024 survey HOT 12
- Does T-lang have opinion on floating-point guarantees? HOT 4
- Extern types V2 RFC
- Experiment: Generic const items HOT 2
- Capturing lifetimes in `impl Trait`
- RFC review Inherent Trait Impls -- RFC#2375 HOT 1
- RFC review: Add f16 and f128 float types -- RFC#3453 HOT 3
- RFC review: MaybeDangling -- RFCS#3336 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lang-team.