I'm using an org file like this one:     * Simu     `simu` is a program to simulate counting up to a certain number.     The program has two main parts:     ** Gathering input     We simply get the first parameter, panicking if there is nothing specified.     #+name: gather-input     #+begin_src rust :noweb yes :comments noweb     let args: Vec = env::args().collect();     if args.len() < 2 {         panic!("No argument provided");     }     <>     #+end_src     This uses the `env` package, so we should add it:     #+name: imports     #+begin_src rust :noweb yes :comments link     use std::env;     #+end_src     The input is provided as a string, so we need to parse, and report error if it fails.     #+name: parse-input     #+begin_src rust :noweb yes :comments link     let count = args[1].parse::().unwrap();     #+end_src     ** Counting up to the number     The loop is pretty straigforward:     #+name: count     #+begin_src rust :noweb yes :comments noweb     let mut i = 0;     while i < count {         <>         i = i+1;     }     #+end_src     Displaying the counter is a matter of presentation:     #+name: print-current-number     #+begin_src rust :noweb yes :comments link     println!("Current number is {}", i);     #+end_src     ** Tying things up     #+name: main     #+begin_src rust :tangle main.rs :noweb yes :comments noweb     <>     fn main() {         <>         <>     }     #+end_src When using org-babel-tangle, a file is generated with this content:     // [[file:simu.org::main][main]]     // [[file:simu.org::imports][imports]]     use std::env;     // imports ends here     fn main() {         // [[file:simu.org::gather-input][gather-input]]         let args: Vec = env::args().collect();         if args.len() < 2 {             panic!("No argument provided");         }         // [[file:simu.org::parse-input][parse-input]]         let count = args[1].parse::().unwrap();         // parse-input ends here         // gather-input ends here         // [[file:simu.org::count][count]]         let mut i = 0;         while i < count {             // [[file:simu.org::print-current-number][print-current-number]]             println!("Current number is {}", i);             // print-current-number ends here             i = i+1;         }         // count ends here     }     // main ends here When I visit the generated file, modify it, and I run org-babel-detangle, I'm execting the org file to be changed. Instead, I always get the error "Not in tangled code" If instead I annotate my blocks with :comments links , then I don't even get any comments in the generated file. I supposed it's related to using noweb expansion. What am I doing wrong ? Emacs  : GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0)  of 2022-05-31 Package: Org mode version 9.6.1 (9.6.1-??-fe92a3c @ /home/phtrivier/.emacs.d/.local/straight/build-28.1/org/)