mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
Add some type annotations
+2
-2
@@ -123,11 +123,11 @@ Phantom types are useful for enforcing state at compile time. For example:
|
||||
struct Door<State>(~str);
|
||||
|
||||
fn close(Door(name): Door<Open>) -> Door<Closed> {
|
||||
Door(name)
|
||||
Door::<Closed>(name)
|
||||
}
|
||||
|
||||
fn open(Door(name): Door<Closed>) -> Door<Open> {
|
||||
Door(name)
|
||||
Door::<Open>(name)
|
||||
}
|
||||
|
||||
let _ = close(Door::<Open>(~"front")); // ok
|
||||
|
||||
Reference in New Issue
Block a user