我不明白为什么使用for循环遍历容器会产生与使用while循环遍历容器不同的结果。下面的MWE使用一个向量和一组5个整数来说明这一点。Iterating through vector with while loop.Iterating through set with while loop.for循环按预期工作,但while循环不起作用。因为我使用++作为后缀,所以我不明白为什么while循环的行为是这样的。另一个谜团是为什么while循环
访问GPIO的Rust STM32xxx_hal代码片段 let gpioa = dp.GPIOA.split(&mut rcc);
//after some processing, time to switch p12 to input
} 编译器抱怨在如何在Rust中实现这一点? 按照马克的回答编辑(见下文),这是用STM