So I think you and the person you responded two are talking about two different things: developing software with and without a HAL.
The rise in ARM brought about quite a bit of standardization. You're no longer bound to vendor specific compilers and toolchains. Insofar as you're willing to essentially reimplement large swaths of the HAL you're able to BYO dev environment. Of course all of this is also subject to the quality of the CMSIS packs and documentation put out by vendors.
This is true with Rust as well, and in this capacity Rust is quite mature and well supported for Cortex-M stuff (and to a slightly lesser extent Xtensa and RISC-V). The tools to create thin wrappers around the registers (so called Peripheral Access Crates — PACs) are pretty well fleshed out at this point.
If you're looking for a equivalent to first party HAL to leverage (e.g. CubeMX, Atmel Studio), Rust is significantly less mature here if only because of its age. In Rust land there are multiple different HAL frameworks to work with and it's likely you'd need to use a combination of them. Embassy (a combination of an async framework and HAL components) is pretty slick if it does what you need.
The rise in ARM brought about quite a bit of standardization. You're no longer bound to vendor specific compilers and toolchains. Insofar as you're willing to essentially reimplement large swaths of the HAL you're able to BYO dev environment. Of course all of this is also subject to the quality of the CMSIS packs and documentation put out by vendors.
This is true with Rust as well, and in this capacity Rust is quite mature and well supported for Cortex-M stuff (and to a slightly lesser extent Xtensa and RISC-V). The tools to create thin wrappers around the registers (so called Peripheral Access Crates — PACs) are pretty well fleshed out at this point.
If you're looking for a equivalent to first party HAL to leverage (e.g. CubeMX, Atmel Studio), Rust is significantly less mature here if only because of its age. In Rust land there are multiple different HAL frameworks to work with and it's likely you'd need to use a combination of them. Embassy (a combination of an async framework and HAL components) is pretty slick if it does what you need.