## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Error code E0391

A type dependency cycle has been encountered.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    trait FirstTrait : SecondTrait {

    }

    trait SecondTrait : FirstTrait {

    }
    }

The previous example contains a circular dependency between two traits: `FirstTrait` depends on `SecondTrait` which itself depends on `FirstTrait`.

See https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information.