Closed
Description
use std::f64::consts::PI;
trait Shape { fn new(area: f64) -> Self; }
struct Circle { radius: f64 }
struct Square { length: f64 }
impl Shape for Circle {
fn new(area: f64) -> Circle { Circle { radius: (area / PI).sqrt() } }
}
impl Shape for Square {
fn new(area: f64) -> Square { Square { length: area.sqrt() } }
}
let area = 42.5;
let c: Circle = Shape::new(area);
let s: Square = Shape::new(area);
Why is this wrong
let c = Circle::new( area );
let s = Square::new( area );
traits-test.rs:126:10: 126:21 error: unresolved name
traits-test.rs:126 let c = Circle::new( area );
^~~~~~~~~~~
traits-test.rs:126:10: 126:21 error: use of undeclared module `Circle`
traits-test.rs:126 let c = Circle::new( area );
^~~~~~~~~~~
traits-test.rs:126:10: 126:21 error: unresolved name `Circle::new`.
traits-test.rs:126 let c = Circle::new( area );
^~~~~~~~~~~
traits-test.rs:127:10: 127:21 error: unresolved name
traits-test.rs:127 let s = Square::new( area );
^~~~~~~~~~~
traits-test.rs:127:10: 127:21 error: use of undeclared module `Square`
traits-test.rs:127 let s = Square::new( area );
^~~~~~~~~~~
traits-test.rs:127:10: 127:21 error: unresolved name `Square::new`.
traits-test.rs:127 let s = Square::new( area );
^~~~~~~~~~~
error: aborting due to 6 previous errors
Metadata
Metadata
Assignees
Labels
No labels