Implement RFC 3678: Final trait methods#151783
Implement RFC 3678: Final trait methods#151783rust-bors[bot] merged 7 commits intorust-lang:mainfrom
Conversation
|
Some changes occurred in compiler/rustc_builtin_macros/src/autodiff.rs cc @ZuseZ4 Some changes occurred in src/tools/rustfmt cc @rust-lang/rustfmt Some changes occurred in src/tools/clippy cc @rust-lang/clippy |
|
r? @fee1-dead rustbot has assigned @fee1-dead. Use |
|
Could you mark errs as a coauthor in all 6 commits, I think that's only fair. Thanks! :) Namely: |
fe8e71f to
f0df197
Compare
|
@fmease Done. Thanks for the reminder! :) |
Does this implement the requirement that final methods don't prevent a trait from being dyn-compatible? |
This comment was marked as outdated.
This comment was marked as outdated.
ca5e458 to
a0707ab
Compare
a0707ab to
5c978e5
Compare
Implemented now :). Also, updated the PR description. |
This comment has been minimized.
This comment has been minimized.
5c978e5 to
05c342d
Compare
This comment has been minimized.
This comment has been minimized.
05c342d to
a630df6
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Michael Goulet <[email protected]>
Co-authored-by: Michael Goulet <[email protected]>
Co-authored-by: Michael Goulet <[email protected]>
526d9ed to
8c77b6c
Compare
|
LGTM, can iterate on it later |
Rollup of 11 pull requests Successful merges: - #152700 (miri subtree update) - #152715 (`rust-analyzer` subtree update) - #151783 (Implement RFC 3678: Final trait methods) - #152512 (core: Implement feature `float_exact_integer_constants`) - #152661 (Avoid ICE in From/TryFrom diagnostic under -Znext-solver) - #152703 (Remove `rustc_query_system`) - #152206 (misc doc improvements) - #152664 (Fix mis-constructed `file_span` when generating scraped examples) - #152698 (Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`) - #152727 (`probe_op` silence ambiguity errors if tainted) - #152728 (Port #![default_lib_allocator] to the new attribute parser)
Rollup merge of #151783 - mu001999-contrib:impl/final-method, r=fee1-dead Implement RFC 3678: Final trait methods Tracking: #131179 This PR is based on #130802, with some minor changes and conflict resolution. Futhermore, this PR excludes final methods from the vtable of a dyn Trait. And some excerpt from the original PR description: > Implements the surface part of rust-lang/rfcs#3678. > > I'm using the word "method" in the title, but in the diagnostics and the feature gate I used "associated function", since that's more accurate. cc @joshtriplett
… r=fmease Update tracking issue number for final_associated_functions From rust-lang#151783 (comment)
… r=fmease Update tracking issue number for final_associated_functions From rust-lang#151783 (comment)
Rollup of 11 pull requests Successful merges: - rust-lang/rust#152700 (miri subtree update) - rust-lang/rust#152715 (`rust-analyzer` subtree update) - rust-lang/rust#151783 (Implement RFC 3678: Final trait methods) - rust-lang/rust#152512 (core: Implement feature `float_exact_integer_constants`) - rust-lang/rust#152661 (Avoid ICE in From/TryFrom diagnostic under -Znext-solver) - rust-lang/rust#152703 (Remove `rustc_query_system`) - rust-lang/rust#152206 (misc doc improvements) - rust-lang/rust#152664 (Fix mis-constructed `file_span` when generating scraped examples) - rust-lang/rust#152698 (Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`) - rust-lang/rust#152727 (`probe_op` silence ambiguity errors if tainted) - rust-lang/rust#152728 (Port #![default_lib_allocator] to the new attribute parser)
… r=fmease Update tracking issue number for final_associated_functions From rust-lang#151783 (comment)
Rollup merge of #152778 - mu001999-contrib:fix/final-method, r=fmease Update tracking issue number for final_associated_functions From #151783 (comment)
Update tracking issue number for final_associated_functions From rust-lang/rust#151783 (comment)
…, r=fee1-dead Implement RFC 3678: Final trait methods Tracking: rust-lang#131179 This PR is based on rust-lang#130802, with some minor changes and conflict resolution. Futhermore, this PR excludes final methods from the vtable of a dyn Trait. And some excerpt from the original PR description: > Implements the surface part of rust-lang/rfcs#3678. > > I'm using the word "method" in the title, but in the diagnostics and the feature gate I used "associated function", since that's more accurate. cc @joshtriplett
Rollup of 11 pull requests Successful merges: - rust-lang/rust#152700 (miri subtree update) - rust-lang/rust#152715 (`rust-analyzer` subtree update) - rust-lang/rust#151783 (Implement RFC 3678: Final trait methods) - rust-lang/rust#152512 (core: Implement feature `float_exact_integer_constants`) - rust-lang/rust#152661 (Avoid ICE in From/TryFrom diagnostic under -Znext-solver) - rust-lang/rust#152703 (Remove `rustc_query_system`) - rust-lang/rust#152206 (misc doc improvements) - rust-lang/rust#152664 (Fix mis-constructed `file_span` when generating scraped examples) - rust-lang/rust#152698 (Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`) - rust-lang/rust#152727 (`probe_op` silence ambiguity errors if tainted) - rust-lang/rust#152728 (Port #![default_lib_allocator] to the new attribute parser)
Rollup of 11 pull requests Successful merges: - rust-lang/rust#152700 (miri subtree update) - rust-lang/rust#152715 (`rust-analyzer` subtree update) - rust-lang/rust#151783 (Implement RFC 3678: Final trait methods) - rust-lang/rust#152512 (core: Implement feature `float_exact_integer_constants`) - rust-lang/rust#152661 (Avoid ICE in From/TryFrom diagnostic under -Znext-solver) - rust-lang/rust#152703 (Remove `rustc_query_system`) - rust-lang/rust#152206 (misc doc improvements) - rust-lang/rust#152664 (Fix mis-constructed `file_span` when generating scraped examples) - rust-lang/rust#152698 (Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`) - rust-lang/rust#152727 (`probe_op` silence ambiguity errors if tainted) - rust-lang/rust#152728 (Port #![default_lib_allocator] to the new attribute parser)
Tracking: #131179
This PR is based on #130802, with some minor changes and conflict resolution.
Futhermore, this PR excludes final methods from the vtable of a dyn Trait.
And some excerpt from the original PR description:
cc @joshtriplett