diff options
Diffstat (limited to 'compiler/rustc_builtin_macros/src/deriving/clone.rs')
| -rw-r--r-- | compiler/rustc_builtin_macros/src/deriving/clone.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_builtin_macros/src/deriving/clone.rs b/compiler/rustc_builtin_macros/src/deriving/clone.rs index 7bf19f61166..267405ac32e 100644 --- a/compiler/rustc_builtin_macros/src/deriving/clone.rs +++ b/compiler/rustc_builtin_macros/src/deriving/clone.rs @@ -110,7 +110,9 @@ fn cs_clone_simple( && !seen_type_names.insert(name) { // Already produced an assertion for this type. - } else { + // Anonymous structs or unions must be eliminated as they cannot be + // type parameters. + } else if !field.ty.kind.is_anon_adt() { // let _: AssertParamIsClone<FieldTy>; super::assert_ty_bounds( cx, |
