error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:40:13
   |
LL |         foo.method_deprecated_unstable();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:42:9
   |
LL |         Foo::method_deprecated_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:44:9
   |
LL |         <Foo>::method_deprecated_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:46:13
   |
LL |         foo.trait_deprecated_unstable();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:48:9
   |
LL |         <Foo>::trait_deprecated_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:51:13
   |
LL |         foo.method_deprecated_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:53:9
   |
LL |         Foo::method_deprecated_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:55:9
   |
LL |         <Foo>::method_deprecated_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:57:13
   |
LL |         foo.trait_deprecated_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:59:9
   |
LL |         <Foo>::trait_deprecated_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:62:13
   |
LL |         foo.method_unstable();
   |             ^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:63:9
   |
LL |         Foo::method_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:64:9
   |
LL |         <Foo>::method_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:65:13
   |
LL |         foo.trait_unstable();
   |             ^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:66:9
   |
LL |         <Foo>::trait_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:68:13
   |
LL |         foo.method_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:70:9
   |
LL |         Foo::method_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:72:9
   |
LL |         <Foo>::method_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:74:13
   |
LL |         foo.trait_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:76:9
   |
LL |         <Foo>::trait_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:131:13
   |
LL |         foo.trait_deprecated_unstable();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:133:9
   |
LL |         <Foo>::trait_deprecated_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:135:13
   |
LL |         foo.trait_deprecated_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:137:9
   |
LL |         <Foo>::trait_deprecated_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:139:13
   |
LL |         foo.trait_unstable();
   |             ^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:140:9
   |
LL |         <Foo>::trait_unstable(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:141:13
   |
LL |         foo.trait_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:143:9
   |
LL |         <Foo>::trait_unstable_text(&foo);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:154:13
   |
LL |         foo.trait_deprecated_unstable();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:156:13
   |
LL |         foo.trait_deprecated_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature'
  --> $DIR/lint-stability-2.rs:158:13
   |
LL |         foo.trait_unstable();
   |             ^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'unstable_test_feature': text
  --> $DIR/lint-stability-2.rs:159:13
   |
LL |         foo.trait_unstable_text();
   |             ^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(unstable_test_feature)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error: aborting due to 32 previous errors

For more information about this error, try `rustc --explain E0658`.
