-
Notifications
You must be signed in to change notification settings - Fork 335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove extension_trait
#1006
Remove extension_trait
#1006
Conversation
Two of the rules have `(+ $lt:lifetime)?` that is not used on the RHS and serves no useful purpose. This commit removes it.
This is the `@doc` rules, the shim trait impls, and the imports.
The body and doc comment are no longer used.
The remaining type requires the square brackets (for now) because a `ty` cannot immediately precede a `$(tt)*`.
At this point, `extension_trait` is basically an expensive no-op. This commit removes it. The next commit will adjust the indentation.
This commit only affects whitespace; `git diff -w` for it is empty.
Best reviewed one commit at a time. cc @lqd |
Oh, |
Now that `extension_trait!` is gone, an increased limit isn't necessary.
It can, I just pushed an additional commit to remove it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested this locally, and woah this compiles quickly! -- incredibly excited about this. Thanks so much @nnethercote!
@yoshuawuyts just curious, what's "quickly" here? I might have tested incorrectly, but |
@lnicola oh, I meant "quickly" compared to compile times before this change. In benchmarks this change showed a >50% improvement in compile times, and trying it locally it def felt noticeably faster! |
@yoshuawuyts says that the documentation generated by
extension_trait
is no longer necessary, which opens the door to removing theextension_trait
macro. This PR does that, in a series of small steps. When combined with the improvements in #1005, the time for a fullcargo check
has reduced by about 55%, and the time for an incrementalcargo check
rebuild has reduced by about 75%.