New to Rust: Hangman game
Welcome to Rust.  Here's some suggestions to get you started:
Creating idiomatic use declarations
It is not common in Rust to bring a function into scope directly via a use declaration.  Instead, io::stdin and io::stdout are preferred.  See the section Creating Idiomatic use Paths in the book for more information.
Using structs to self-document code
You included this sentence in your explanation of the code:

To store letters already guessed, I use an u128 and flag the
corresponding bit. It should be ok since all ASCII letters are
represented by u8 &lt; 128.

It is preferable to include this information in the code itself.  In this case, we can introduce a struct:
#[derive(Clone, Copy, Debug, Default)]
struct AsciiSet {
    flag: u128,
}

impl AsciiSet {
    fn new() -&gt; Self {
        Self { flag: 0 }
    }

    fn push(&amp;mut self, letter: u8) {
        self.flag |= (1 &lt;&lt; letter);
    }

    fn contains(&amp;self, letter: u8) -&gt; bool {
        (self.flag &amp; (1 &lt;&lt; letter)) != 0
    }
}

and modify the code accordingly:
let mut letters = AsciiSet::new();

loop {
    // ...
    if letters.contains(letter) { /* ... /* }

    // ...
    letters.push(letter);
}

Checking for ASCII
letter as u8 truncates the character if !letter.is_ascii().  Check for this case and prompt the user accordingly.