Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/body/tests.rs')
-rw-r--r--crates/hir-def/src/body/tests.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/crates/hir-def/src/body/tests.rs b/crates/hir-def/src/body/tests.rs
index 38fc01d8fc..dd3e79c874 100644
--- a/crates/hir-def/src/body/tests.rs
+++ b/crates/hir-def/src/body/tests.rs
@@ -143,6 +143,41 @@ mod m {
}
#[test]
+fn desugar_for_loop() {
+ let (db, body, def) = lower(
+ r#"
+//- minicore: iterator
+fn main() {
+ for ident in 0..10 {
+ foo();
+ bar()
+ }
+}
+"#,
+ );
+
+ expect![[r#"
+ fn main() -> () {
+ match builtin#lang(into_iter)(
+ (0) ..(10) ,
+ ) {
+ mut <ra@gennew>11 => loop {
+ match builtin#lang(next)(
+ &mut <ra@gennew>11,
+ ) {
+ builtin#lang(None) => break,
+ builtin#lang(Some)(ident) => {
+ foo();
+ bar()
+ },
+ }
+ },
+ }
+ }"#]]
+ .assert_eq(&body.pretty_print(&db, def, Edition::CURRENT))
+}
+
+#[test]
fn desugar_builtin_format_args() {
let (db, body, def) = lower(
r#"