about summary refs log tree commit diff
path: root/src/test/ui/borrowck/issue-51301.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/issue-51301.rs')
-rw-r--r--src/test/ui/borrowck/issue-51301.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/test/ui/borrowck/issue-51301.rs b/src/test/ui/borrowck/issue-51301.rs
deleted file mode 100644
index 7e0a5190fcd..00000000000
--- a/src/test/ui/borrowck/issue-51301.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-use std::any::TypeId;
-use std::collections::HashMap;
-use std::hash::Hash;
-
-trait State {
-    type EventType;
-    fn get_type_id_of_state(&self) -> TypeId;
-}
-
-struct StateMachine<EventType: Hash + Eq> {
-    current_state: Box<dyn State<EventType = EventType>>,
-    transition_table:
-        HashMap<TypeId, HashMap<EventType, fn() -> Box<dyn State<EventType = EventType>>>>,
-}
-
-impl<EventType: Hash + Eq> StateMachine<EventType> {
-    fn inner_process_event(&mut self, event: EventType) -> Result<(), i8> {
-        let new_state_creation_function = self
-            .transition_table
-            .iter()
-            .find(|(&event_typeid, _)| event_typeid == self.current_state.get_type_id_of_state())
-            .ok_or(1)?
-            .1
-            .iter()
-            .find(|(&event_type, _)| event == event_type)
-            //~^ ERROR cannot move out of a shared reference
-            .ok_or(2)?
-            .1;
-
-        self.current_state = new_state_creation_function();
-        Ok(())
-    }
-}
-
-fn main() {}