Just a runnable solution
Code\n\nimpl Solution {\n    pub fn is_transformable(s: String, t: String) -> bool {\n        let s = s\n            .chars()\n            .map(|c| c.to_digit(1
# Code\n```\nimpl Solution {\n    pub fn is_transformable(s: String, t: String) -> bool {\n        let s = s\n            .chars()\n            .map(|c| c.to_digit(10).unwrap() as usize)\n            .collect::<Vec<usize>>();\n        let t = t\n            .chars()\n            .map(|c| c.to_digit(10).unwrap() as usize)\n            .collect::<Vec<usize>>();\n        let mut pos = vec![vec![]; 10];\n        for i in 0..s.len() {\n            pos[s[i]].push(i);\n        }\n        for &item_t in &t {\n            let c = item_t;\n            if pos[c].is_empty() {\n                return false;\n            }\n            let p = pos[c][0];\n            for item in pos.iter().take(c) {\n                if !item.is_empty() && item[0] < p {\n                    return false;\n                }\n            }\n            pos[c].remove(0);\n        }\n        true\n    }\n}\n```
['Rust']