summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-51301.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/issues/issue-51301.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/issues/issue-51301.rs')
-rw-r--r--src/test/ui/issues/issue-51301.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/test/ui/issues/issue-51301.rs b/src/test/ui/issues/issue-51301.rs
deleted file mode 100644
index 7e0a5190f..000000000
--- a/src/test/ui/issues/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() {}