下記の様な構成でファイルを作成し

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();
}