Closed
Description
[derive(Clone)] should not require generic arguments to be Clone if it's not necessary.
use std::rc::Rc;
struct S;
#[derive(Clone)]
struct Works(Rc<S>);
#[derive(Clone)]
struct Fails<T>(Rc<T>);
fn main() {
let w = Works(Rc::new(S));
w.clone(); // ok
let f = Fails(Rc::new(S));
f.clone(); // fails
}
Metadata
Metadata
Assignees
Labels
No labels