Skip to content

Conversation

@eddyb
Copy link
Member

@eddyb eddyb commented Nov 5, 2017

The shift to using proc_macro's own APIs in proc_macro::quote, both in the implementation of the quasi-quoter and the Rust code it generates to build TokenStreams at runtime, greatly reduces the dependency on libsyntax, with the generated runtime code being completely free of it.

This is a prerequirement for introducing more abstraction/indirection between proc_macro and compiler implementation details (mainly those from libsyntax), which I want to attempt.

cc @alexcrichton @jseyfried @nrc

@rust-highfive
Copy link
Contributor

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

@kennytm kennytm added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 6, 2017
@jseyfried
Copy link
Contributor

r? @jseyfried

@jseyfried
Copy link
Contributor

Excellent! @bors r+

@bors
Copy link
Collaborator

bors commented Nov 9, 2017

📌 Commit fbcc673 has been approved by jseyfried

@kennytm kennytm added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 9, 2017
@bors
Copy link
Collaborator

bors commented Nov 10, 2017

⌛ Testing commit fbcc673 with merge 563dc51...

bors added a commit that referenced this pull request Nov 10, 2017
Prefer libproc_macro APIs to libsyntax ones in the quasi-quoter.

The shift to using `proc_macro`'s own APIs in `proc_macro::quote`, both in the implementation of the quasi-quoter and the Rust code it generates to build `TokenStream`s at runtime, greatly reduces the dependency on `libsyntax`, with the generated runtime code being completely free of it.

This is a prerequirement for introducing more abstraction/indirection between `proc_macro` and compiler implementation details (mainly those from `libsyntax`), which I want to attempt.

cc @alexcrichton @jseyfried @nrc
@bors
Copy link
Collaborator

bors commented Nov 10, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: jseyfried
Pushing 563dc51 to master...

@bors bors merged commit fbcc673 into rust-lang:master Nov 10, 2017
@eddyb eddyb deleted the quote-unquote branch November 10, 2017 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants