mike@spirit:~/test/tmod/src$ ls
b.rs  main.rs
mike@spirit:~/test/tmod/src$ cat main.rs 
mod A {
    pub fn a_func() {
        println!("I am a_func.")
    }
}
mod b;
fn main() {
    A::a_func();
    b::b_func();
}
mike@spirit:~/test/tmod/src$ cat b.rs 
use super::A;
pub fn b_func() {
    println!("I am b_func");
    A::a_func();
}
mike@spirit:~/test/tmod/src$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `/home/mike/test/tmod/target/debug/tmod`
I am a_func.
I am b_func
I am a_func.
mike@spirit:~/test/tmod/src$ 
	    
	    
		1
	    
	    
	    共 5 条评论, 1 页
	
	
    
评论区
写评论贴一下我这边遇到的问题,也就是这个帖子的原因。
main.rs
A.rs
B.rs
编译报错,
贴一下我这边遇到的问题,也就是这个帖子的原因。 main.rs mod A;
fn main() { println!("Hello, this is main"); A::printA(); } A.rs mod B;
pub fn printA(){ println!("hello, this is A"); B::printB(); } B.rs pub fn printB(){ println!("hello, this is B"); }
编译报错, error: src\A.rs:1: file not found for module
Bhelp: src\A.rs:1: name the file either A\B.rs or A\B\mod.rs inside the directory "src"同级的a.rs不能引用同级目录下的b.rs。
只能是同级的crate入口 文件才能引用其它文件。
装逼。演示用。
为啥人类要在main.rs里写mod呢?