Skip to content

Commit

Permalink
Rollup merge of rust-lang#110425 - compiler-errors:def-span-for-ct-pa…
Browse files Browse the repository at this point in the history
…ram, r=petrochenkov

Encode def span for `ConstParam`

Fixes rust-lang#110206

r? `@petrochenkov`
  • Loading branch information
matthiaskrgr committed Apr 17, 2023
2 parents 8cf32cb + 1ee189c commit 23dc31f
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 2 deletions.
4 changes: 2 additions & 2 deletions compiler/rustc_metadata/src/rmeta/encoder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,7 @@ fn should_encode_span(def_kind: DefKind) -> bool {
| DefKind::TraitAlias
| DefKind::AssocTy
| DefKind::TyParam
| DefKind::ConstParam
| DefKind::Fn
| DefKind::Const
| DefKind::Static(_)
Expand All @@ -837,8 +838,7 @@ fn should_encode_span(def_kind: DefKind) -> bool {
| DefKind::Impl { .. }
| DefKind::Closure
| DefKind::Generator => true,
DefKind::ConstParam
| DefKind::ExternCrate
DefKind::ExternCrate
| DefKind::Use
| DefKind::ForeignMod
| DefKind::ImplTraitPlaceholder
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub fn test<const N: usize, T>() {}
8 changes: 8 additions & 0 deletions tests/ui/consts/foreign-generic-mismatch-with-const-arg.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// aux-build: foreign-generic-mismatch-with-const-arg.rs

extern crate foreign_generic_mismatch_with_const_arg;

fn main() {
foreign_generic_mismatch_with_const_arg::test::<1>();
//~^ ERROR function takes 2 generic arguments but 1 generic argument was supplied
}
21 changes: 21 additions & 0 deletions tests/ui/consts/foreign-generic-mismatch-with-const-arg.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
error[E0107]: function takes 2 generic arguments but 1 generic argument was supplied
--> $DIR/foreign-generic-mismatch-with-const-arg.rs:6:46
|
LL | foreign_generic_mismatch_with_const_arg::test::<1>();
| ^^^^ - supplied 1 generic argument
| |
| expected 2 generic arguments
|
note: function defined here, with 2 generic parameters: `N`, `T`
--> $DIR/auxiliary/foreign-generic-mismatch-with-const-arg.rs:1:8
|
LL | pub fn test<const N: usize, T>() {}
| ^^^^ -------------- -
help: add missing generic argument
|
LL | foreign_generic_mismatch_with_const_arg::test::<1, T>();
| +++

error: aborting due to previous error

For more information about this error, try `rustc --explain E0107`.

0 comments on commit 23dc31f

Please sign in to comment.