-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
forbid generic params in the type of const params #74159
Conversation
Some changes occurred in diagnostic error codes |
5dc2fe6
to
bf9142a
Compare
I think it'd help to discuss this on Zulip, because there were objections previously to blocking this in name resolution. I also want to figure out where the previous error went missing, because I would have thought it would have been sufficient if it had stayed around. I'll try to look, but I don't have time immediately. |
☔ The latest upstream changes (presumably #74330) made this pull request unmergeable. Please resolve the merge conflicts. |
src/test/ui/const-generics/const-param-type-depends-on-const-param.stderr
Outdated
Show resolved
Hide resolved
I'm happy with the implementation: I just want to tweak that error message a little bit. |
bf9142a
to
072287d
Compare
ac504c2
to
0c511ab
Compare
251b6e8
to
09ba0bd
Compare
@bors r+ Thanks! |
📌 Commit 09ba0bd has been approved by |
forbid generic params in the type of const params implements and closes rust-lang#74152 fixes rust-lang#74101, closes rust-lang#71169, fixes rust-lang#73491, closes rust-lang#62878 @eddyb and I talked [on zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/type.20of.20const.20parameters/near/203405696) about this and we probably want to also forbid generic consts in the default type of a parameter, e.g. `struct Foo<T, U = [u8; std::mem::size_of::<T>()]>`, this is currently still allowed and I will probably fix that in a followup PR. r? @varkor @eddyb
forbid generic params in the type of const params implements and closes rust-lang#74152 fixes rust-lang#74101, closes rust-lang#71169, fixes rust-lang#73491, closes rust-lang#62878 @eddyb and I talked [on zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/type.20of.20const.20parameters/near/203405696) about this and we probably want to also forbid generic consts in the default type of a parameter, e.g. `struct Foo<T, U = [u8; std::mem::size_of::<T>()]>`, this is currently still allowed and I will probably fix that in a followup PR. r? @varkor @eddyb
…arth Rollup of 21 pull requests Successful merges: - rust-lang#73566 (Don't run `everybody_loops` for rustdoc; instead ignore resolution errors) - rust-lang#73771 (Don't pollute docs/suggestions with libstd deps) - rust-lang#73794 (Small cleanup for E0705 explanation) - rust-lang#73807 (rustdoc: glue tokens before highlighting) - rust-lang#73835 (Clean up E0710 explanation) - rust-lang#73926 (Ignoring test case: [codegen] repr-transparent-aggregates-1.rs for aarch64) - rust-lang#73981 (Remove some `ignore-stage1` annotations.) - rust-lang#73998 (add regression test for rust-lang#61216) - rust-lang#74140 (Make hir ProjectionKind more precise) - rust-lang#74148 (Move #[doc(alias)] check in rustc) - rust-lang#74159 (forbid generic params in the type of const params) - rust-lang#74171 (Fix 44056 test with debug on macos.) - rust-lang#74221 (Don't panic if the lhs of a div by zero is not statically known) - rust-lang#74325 (Focus on the current file in the source file sidebar) - rust-lang#74359 (rustdoc: Rename internal API fns to `into_string`) - rust-lang#74370 (Reintroduce spotlight / "important traits" feature) - rust-lang#74390 (Fix typo in std::mem::transmute documentation) - rust-lang#74391 (BtreeMap: superficially refactor root access) - rust-lang#74392 (const generics triage) - rust-lang#74397 (Fix typo in the latest release note) - rust-lang#74406 (Set shell for github actions CI) Failed merges: r? @ghost
Closes rust-lang#69414 (no longer ICEs after rust-lang#74159)
Add regression test for rust-lang#69414 Closes rust-lang#69414 (no longer ICEs after rust-lang#74159)
Add regression test for rust-lang#69414 Closes rust-lang#69414 (no longer ICEs after rust-lang#74159)
Add regression test for rust-lang#69414 Closes rust-lang#69414 (no longer ICEs after rust-lang#74159)
…-DPC add test for rust-lang#62878 forgot to push this as part of rust-lang#74159 r? @Dylan-DPC
implements and closes #74152
fixes #74101, closes #71169, fixes #73491, closes #62878
@eddyb and I talked on zulip about this and we probably want to also forbid generic consts in the default
type of a parameter, e.g.
struct Foo<T, U = [u8; std::mem::size_of::<T>()]>
, this is currently still allowedand I will probably fix that in a followup PR.
r? @varkor @eddyb