diff options
| author | bors <bors@rust-lang.org> | 2021-04-17 04:48:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-04-17 04:48:36 +0000 |
| commit | 57e28ef86fdf528d1e348312f5b2775d9de2cbd0 (patch) | |
| tree | ce49f426a085adec9844564cabe0198857b1f4ea /src/test | |
| parent | 42e5621c534b9367ae8e8e332d95929206720a23 (diff) | |
| parent | 9ecfae44d74cadd58c9909da8f4a2410dd583c03 (diff) | |
| download | rust-57e28ef86fdf528d1e348312f5b2775d9de2cbd0.tar.gz rust-57e28ef86fdf528d1e348312f5b2775d9de2cbd0.zip | |
Auto merge of #84243 - Soveu:fix-derive-macro-const-default, r=petrochenkov
Builtin derive macros: fix error with const generics default This fixes a bug where builtin derive macros (like Clone, Debug) would basically copy-paste the default from a const generic, causing a compile error with very confusing message - it would say defaults are not allowed in impl blocks, while pointing at struct/enum/union definition.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/derives/derive-macro-const-default.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/derives/derive-macro-const-default.rs b/src/test/ui/derives/derive-macro-const-default.rs new file mode 100644 index 00000000000..a844f2d2023 --- /dev/null +++ b/src/test/ui/derives/derive-macro-const-default.rs @@ -0,0 +1,14 @@ +// check-pass +#![allow(incomplete_features)] +#![feature(const_generics_defaults)] + +#[derive(Clone, PartialEq, Debug)] +struct Example<T, const N: usize = 1usize>([T; N]); + +fn main() { + let a = Example([(); 16]); + let b = a.clone(); + if a != b { + let _c = format!("{:?}", a); + } +} |
