#![stable(feature = "bar", since = "OLD 1.0")]
#![crate_name = "foo"]

#![feature(staged_api)]

#[stable(feature = "bar", since = "OLD 1.0")]
pub trait Bar {}

#[stable(feature = "baz", since = "OLD 1.0")]
pub trait Baz {}

#[stable(feature = "baz", since = "OLD 1.0")]
pub struct Foo;

// @has foo/trait.Bar.html '//div[@id="implementors-list"]//span[@class="since"]' 'NEW 2.0'
#[stable(feature = "foobar", since = "NEW 2.0")]
impl Bar for Foo {}

// @!has foo/trait.Baz.html '//div[@id="implementors-list"]//span[@class="since"]' 'OLD 1.0'
#[stable(feature = "foobaz", since = "OLD 1.0")]
impl Baz for Foo {}

#![crate_name = "foo"]

#![feature(staged_api)]

#[stable(feature = "bar", since = "OLD 1.0")]
pub trait Bar {}

#[stable(feature = "baz", since = "OLD 1.0")]
pub trait Baz {}

pub struct Foo;

// @has foo/trait.Bar.html '//div[@id="implementors-list"]//span[@class="since"]' 'NEW 2.0'
#[stable(feature = "foobar", since = "NEW 2.0")]
impl Bar for Foo {}

// @!has foo/trait.Baz.html '//div[@id="implementors-list"]//span[@class="since"]' 'OLD 1.0'
#[stable(feature = "foobaz", since = "OLD 1.0")]
impl Baz for Foo {}

--- 
+++ 
@@ -1,3 +1,4 @@
+#![stable(feature = "bar", since = "OLD 1.0")]
 #![crate_name = "foo"]
 
 #![feature(staged_api)]
@@ -8,6 +9,7 @@
 #[stable(feature = "baz", since = "OLD 1.0")]
 pub trait Baz {}
 
+#[stable(feature = "baz", since = "OLD 1.0")]
 pub struct Foo;
 
 // @has foo/trait.Bar.html '//div[@id="implementors-list"]//span[@class="since"]' 'NEW 2.0'
Update rustdoc test to make it work with newly added rustc passes
