-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Remove FeedConstTy and provide ty when lowering const arg
#150962
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
Conversation
|
HIR ty lowering was modified cc @fmease |
037210a to
d0247c8
Compare
This comment has been minimized.
This comment has been minimized.
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.
This is great :)
Can you update type_of.rs to no longer have fn const_arg_anon_type_of and replace its one call site with the logic of the wildcard arm that currently is in const_arg_anon_type_of. In theory none of the other codepaths should be necessary now that we always pass in a type during HIR ty lowering.
25c3068 to
7055784
Compare
This comment has been minimized.
This comment has been minimized.
|
Seems because the removal of |
7055784 to
dbf5ee8
Compare
|
Recover |
|
Oh that's unfortunate, I wonder what's going on there |
|
☔ The latest upstream changes (presumably #151003) made this pull request unmergeable. Please resolve the merge conflicts. |
dbf5ee8 to
d95613a
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@BoxyUwU I think the two failed tests (tests/ui/closures/issue-90871.rs and tests/ui/type/pattern_types/nested.rs) show that we still will call |
|
@bors r+ cool! |
Remove `FeedConstTy` and provide ty when lowering const arg r? @BoxyUwU edit: BoxyUwU `FeedConstTy` currently only provides the expected type of a const argument *sometimes* (e.g. previously array lengths did not do this). This causes problems with mGCA's directly represented const arguments which always need to know their expected type.
Remove `FeedConstTy` and provide ty when lowering const arg r? @BoxyUwU edit: BoxyUwU `FeedConstTy` currently only provides the expected type of a const argument *sometimes* (e.g. previously array lengths did not do this). This causes problems with mGCA's directly represented const arguments which always need to know their expected type.
…uwer Rollup of 13 pull requests Successful merges: - #150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - #150677 (Improve std::path::Path::join documentation) - #150723 (std: move `errno` and related functions into `sys::io`) - #150737 (diagnostics: make implicit Sized bounds explicit in E0277) - #150771 (Remove legacy homu `try` and `auto` branch mentions) - #150915 (Regression test for type params on eii) - #150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - #151017 (Port the rustc dump attributes to the attribute parser) - #151019 (Make `Type::of` support unsized types) - #151034 (std: Change UEFI env vars to volatile storage) - #151052 (ui: add regression test for macro resolution ICE (issue #150711)) - #151053 (Reduce flakyness for `tests/rustdoc-gui/notable-trait.goml`) - #151055 (Emit error instead of delayed bug when meeting mismatch type for const array) r? @ghost
|
@bors try jobs=dist-x86_64-linux-alt |
This comment has been minimized.
This comment has been minimized.
Remove `FeedConstTy` and provide ty when lowering const arg try-job: dist-x86_64-linux-alt
|
@rustbot ready |
|
@bors r+ |
Remove `FeedConstTy` and provide ty when lowering const arg r? @BoxyUwU edit: BoxyUwU `FeedConstTy` currently only provides the expected type of a const argument *sometimes* (e.g. previously array lengths did not do this). This causes problems with mGCA's directly represented const arguments which always need to know their expected type.
…uwer Rollup of 16 pull requests Successful merges: - #150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - #150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - #150590 (Don't try to recover keyword as non-keyword identifier ) - #150817 (cleanup: remove borrowck handling for inline const patterns) - #150939 (resolve: Relax some asserts in glob overwriting and add tests) - #150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - #150966 (rustc_target: Remove unused Arch::PowerPC64LE) - #150971 (Disallow eii in statement position) - #151016 (fix: WASI threading regression by disabling pthread usage) - #151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - #151099 (Recover parse gracefully from `<const N>`) - #151117 (Avoid serde dependency in build_helper when not necessary) - #151127 (Delete `MetaItemOrLitParser::Err`) - #151128 (Add temporary new bors e-mail address to the mailmap) - #151130 (resolve: Downgrade `ambiguous_glob_imports` to warn-by-default) - #151138 (Rename `rust.use-lld` to `rust.bootstrap-override-lld` in INSTALL.md) r? @ghost
…uwer Rollup of 15 pull requests Successful merges: - #150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - #150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - #150590 (Don't try to recover keyword as non-keyword identifier ) - #150817 (cleanup: remove borrowck handling for inline const patterns) - #150939 (resolve: Relax some asserts in glob overwriting and add tests) - #150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - #150966 (rustc_target: Remove unused Arch::PowerPC64LE) - #150971 (Disallow eii in statement position) - #151016 (fix: WASI threading regression by disabling pthread usage) - #151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - #151099 (Recover parse gracefully from `<const N>`) - #151117 (Avoid serde dependency in build_helper when not necessary) - #151127 (Delete `MetaItemOrLitParser::Err`) - #151128 (Add temporary new bors e-mail address to the mailmap) - #151138 (Rename `rust.use-lld` to `rust.bootstrap-override-lld` in INSTALL.md) r? @ghost
Rollup merge of #150962 - rm/feed_const_ty, r=BoxyUwU Remove `FeedConstTy` and provide ty when lowering const arg r? @BoxyUwU edit: BoxyUwU `FeedConstTy` currently only provides the expected type of a const argument *sometimes* (e.g. previously array lengths did not do this). This causes problems with mGCA's directly represented const arguments which always need to know their expected type.
…uwer Rollup of 15 pull requests Successful merges: - rust-lang/rust#150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - rust-lang/rust#150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - rust-lang/rust#150590 (Don't try to recover keyword as non-keyword identifier ) - rust-lang/rust#150817 (cleanup: remove borrowck handling for inline const patterns) - rust-lang/rust#150939 (resolve: Relax some asserts in glob overwriting and add tests) - rust-lang/rust#150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - rust-lang/rust#150966 (rustc_target: Remove unused Arch::PowerPC64LE) - rust-lang/rust#150971 (Disallow eii in statement position) - rust-lang/rust#151016 (fix: WASI threading regression by disabling pthread usage) - rust-lang/rust#151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - rust-lang/rust#151099 (Recover parse gracefully from `<const N>`) - rust-lang/rust#151117 (Avoid serde dependency in build_helper when not necessary) - rust-lang/rust#151127 (Delete `MetaItemOrLitParser::Err`) - rust-lang/rust#151128 (Add temporary new bors e-mail address to the mailmap) - rust-lang/rust#151138 (Rename `rust.use-lld` to `rust.bootstrap-override-lld` in INSTALL.md) r? @ghost
|
@rust-timer queue 8ea72d4 |
|
Error occurred while parsing comment: Invalid command argument |
|
@rust-timer build 8ea72d4 |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (8ea72d4): comparison URL. Overall result: ❌ regressions - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 2.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 0.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 475.838s -> 473.206s (-0.55%) |
|
This caused the perf regression in #151144 |
|
wild |
|
unsure what caused this, all the logic in this PR is either const generics only or diagnostics path stuff 🤔 this bench doesn't have any const generics 🤔 given it's a stress test though I'd be inclined to accept this given it's likely to be very minimal affect on real world code? It would be nice to fix this though |
r? @BoxyUwU
Fixes #151048
edit: BoxyUwU
FeedConstTycurrently only provides the expected type of a const argument sometimes (e.g. previously array lengths did not do this). This causes problems with mGCA's directly represented const arguments which always need to know their expected type.