lib内のmoduleからmodの利用方法
下記の様な構成でファイルを作成し
src/lib.rs
src/myerror.rs
src/mydata.rs
mydataでmyerrorを利用したいと考えたのですが、下記の様なエラーが出ます。
error[E0583]: file not found for module `myerror`
mydataからmyerrorをmodするにはどの様にすれば良いですか?
myerrorをlib内で共通のエラー処理として使用したいと考えています。
src/mydata.rs
mod myerror;
pub struct MyData{}
impl MyData{
pub fn ok_func(&self) -> Result<(),()>{
Ok(())
}
pub fn err_fnuc(&self)->Result<(),myerror::Error>{
Err(myerror::err())
}
}
src/myerror.rs
extern crate failure;
use failure::Error as OtherError;
pub type Error = OtherError;
pub fn err() -> Error{
failure::format_err!("error")
}
src/lib.rs
mod mydata;
use mydata::MyData;
pub fn test1() {
let mydata = MyData{};
let ret = mydata.err_fnuc();
println!("{:?}", ret);
}
#[test]
fn it_works() {
test1();
}