They are ignored, but silently. It is probably better if we make them errors to give us room to build some future system with those nice names.
This compiles without a peep from rustc:
#![allow(dead_code)]
#[stable]
fn foo() {}
#[deprecated]
struct Bar;
#[unstable]
type X = i8;
fn main() {}