pin-project 0.4.21

A crate for safe and ergonomic pin-projection.
Documentation
error: unexpected token: ()
  --> $DIR/invalid.rs:12:18
   |
12 |         #[project()] //~ ERROR unexpected token
   |                  ^^

error: unexpected token: (foo)
  --> $DIR/invalid.rs:19:18
   |
19 |         #[project(foo)] //~ ERROR unexpected token
   |                  ^^^^^

error: unexpected token: ()
  --> $DIR/invalid.rs:26:18
   |
26 |         #[project()] //~ ERROR unexpected token
   |                  ^^

error: unexpected token: (foo)
  --> $DIR/invalid.rs:35:18
   |
35 |         #[project(foo)] //~ ERROR unexpected token
   |                  ^^^^^

error: unexpected token: foo
  --> $DIR/invalid.rs:44:15
   |
44 |     #[project(foo)] //~ ERROR unexpected token
   |               ^^^

error: duplicate #[project] attribute
  --> $DIR/invalid.rs:58:9
   |
58 |         #[project] //~ ERROR duplicate #[project] attribute
   |         ^^^^^^^^^^

error: duplicate #[project_ref] attribute
  --> $DIR/invalid.rs:66:9
   |
66 |         #[project_ref] //~ ERROR duplicate #[project_ref] attribute
   |         ^^^^^^^^^^^^^^

error: duplicate #[project_replace] attribute
  --> $DIR/invalid.rs:74:9
   |
74 |         #[project_replace] //~ ERROR duplicate #[project_replace] attribute
   |         ^^^^^^^^^^^^^^^^^^

error: attributes `project` and `project_ref` are mutually exclusive
  --> $DIR/invalid.rs:82:9
   |
82 |         #[project_ref] //~ ERROR are mutually exclusive
   |         ^^^^^^^^^^^^^^

error: attributes `project` and `project_replace` are mutually exclusive
  --> $DIR/invalid.rs:90:9
   |
90 |         #[project_replace] //~ ERROR are mutually exclusive
   |         ^^^^^^^^^^^^^^^^^^

error: attributes `project_ref` and `project_replace` are mutually exclusive
  --> $DIR/invalid.rs:98:9
   |
98 |         #[project_replace] //~ ERROR are mutually exclusive
   |         ^^^^^^^^^^^^^^^^^^

error: attributes `project` and `project_ref` are mutually exclusive
   --> $DIR/invalid.rs:106:9
    |
106 |         #[project_ref] //~ ERROR are mutually exclusive
    |         ^^^^^^^^^^^^^^

error: attributes `project` and `project_replace` are mutually exclusive
   --> $DIR/invalid.rs:114:9
    |
114 |         #[project_replace] //~ ERROR are mutually exclusive
    |         ^^^^^^^^^^^^^^^^^^

error: attributes `project_ref` and `project_replace` are mutually exclusive
   --> $DIR/invalid.rs:122:9
    |
122 |         #[project_replace] //~ ERROR are mutually exclusive
    |         ^^^^^^^^^^^^^^^^^^

error: attributes `project` and `project_ref` are mutually exclusive
   --> $DIR/invalid.rs:130:9
    |
130 |         #[project_ref] //~ ERROR are mutually exclusive
    |         ^^^^^^^^^^^^^^

error: attributes `project` and `project_replace` are mutually exclusive
   --> $DIR/invalid.rs:138:9
    |
138 |         #[project_replace] //~ ERROR are mutually exclusive
    |         ^^^^^^^^^^^^^^^^^^

error: attributes `project_ref` and `project_replace` are mutually exclusive
   --> $DIR/invalid.rs:146:9
    |
146 |         #[project_replace] //~ ERROR are mutually exclusive
    |         ^^^^^^^^^^^^^^^^^^

error: duplicate #[project] attribute
   --> $DIR/invalid.rs:151:5
    |
151 |     #[project] //~ ERROR duplicate #[project] attribute
    |     ^^^^^^^^^^

error: duplicate #[project_ref] attribute
   --> $DIR/invalid.rs:155:5
    |
155 |     #[project_ref] //~ ERROR duplicate #[project_ref] attribute
    |     ^^^^^^^^^^^^^^

error: duplicate #[project_replace] attribute
   --> $DIR/invalid.rs:159:5
    |
159 |     #[project_replace] //~ ERROR duplicate #[project_replace] attribute
    |     ^^^^^^^^^^^^^^^^^^

error: duplicate #[project] attribute
   --> $DIR/invalid.rs:163:5
    |
163 |     #[project] //~ ERROR duplicate #[project] attribute
    |     ^^^^^^^^^^

error: duplicate #[project_ref] attribute
   --> $DIR/invalid.rs:167:5
    |
167 |     #[project_ref] //~ ERROR duplicate #[project_ref] attribute
    |     ^^^^^^^^^^^^^^

error: duplicate #[project_replace] attribute
   --> $DIR/invalid.rs:171:5
    |
171 |     #[project_replace] //~ ERROR duplicate #[project_replace] attribute
    |     ^^^^^^^^^^^^^^^^^^

error: duplicate #[project] attribute
   --> $DIR/invalid.rs:179:9
    |
179 |         #[project] //~ ERROR duplicate #[project] attribute
    |         ^^^^^^^^^^

error: duplicate #[project_ref] attribute
   --> $DIR/invalid.rs:183:9
    |
183 |         #[project_ref] //~ ERROR duplicate #[project_ref] attribute
    |         ^^^^^^^^^^^^^^

error: duplicate #[project_replace] attribute
   --> $DIR/invalid.rs:187:9
    |
187 |         #[project_replace] //~ ERROR duplicate #[project_replace] attribute
    |         ^^^^^^^^^^^^^^^^^^