rust/src/test/ui/feature-gate
Mazdak Farrokhzad e4e6b01ca1
Rollup merge of #63867 - petrochenkov:dhelpers, r=matthewjasper
resolve: Block expansion of a derive container until all its derives are resolved

So, it turns out there's one more reason to block expansion of a `#[derive]` container until all the derives inside it are resolved, beside `Copy` (https://github.com/rust-lang/rust/pull/63248).

The set of derive helper attributes registered by derives in the container also has to be known before the derives themselves are expanded, otherwise it may be too late (see https://github.com/rust-lang/rust/pull/63468#issuecomment-524550872 and the `#[stable_hasher]`-related test failures in https://github.com/rust-lang/rust/pull/63468).

So, we stop our attempts to unblock the container earlier, as soon as the `Copy` status is known, and just block until all its derives are resolved.
After all the derives are resolved we immediately go and process their helper attributes in the item, without delaying it until expansion of the individual derives.

Unblocks https://github.com/rust-lang/rust/pull/63468
r? @matthewjasper (as a reviewer of https://github.com/rust-lang/rust/pull/63248)
cc @c410-f3r
2019-08-29 13:17:52 +02:00
..
allow-features-empty.rs Make -Z allow-features work for stdlib features 2019-04-25 14:03:45 -07:00
allow-features-empty.stderr Make -Z allow-features work for stdlib features 2019-04-25 14:03:45 -07:00
allow-features.rs Make -Z allow-features work for stdlib features 2019-04-25 14:03:45 -07:00
allow-features.stderr Make -Z allow-features work for stdlib features 2019-04-25 14:03:45 -07:00
duplicate-features.rs Remove licenses 2018-12-25 21:08:33 -07:00
duplicate-features.stderr Update tests 2019-03-11 23:10:26 +03:00
feature-gate-c_variadic.rs Fix additional variadic typos 2019-04-20 22:03:39 +01:00
feature-gate-c_variadic.stderr normalize use of backticks in compiler messages for libsyntax/feature_gate 2019-07-09 14:13:28 +02:00
feature-gate-cfg_doctest.rs rustdoc: set cfg(doctest) when collecting doctests 2019-07-06 21:37:17 -05:00
feature-gate-cfg_doctest.stderr normalize use of backticks in compiler messages for libsyntax/feature_gate 2019-07-09 14:13:28 +02:00
feature-gate-static-nobundle-2.rs Add test for linking non-existent static library 2019-01-17 03:40:36 +00:00
feature-gate-static-nobundle-2.stderr normalize use of backticks in compiler messages for libsyntax/feature_gate 2019-07-09 14:13:28 +02:00
issue-43106-gating-of-bench.rs Introduce built-in macros through libcore 2019-07-26 13:09:54 +03:00
issue-43106-gating-of-bench.stderr Introduce built-in macros through libcore 2019-07-26 13:09:54 +03:00
issue-43106-gating-of-builtin-attrs.rs Remove derives Encodable/Decodable and unstabilize attribute #[bench] 2019-07-31 21:27:59 +03:00
issue-43106-gating-of-builtin-attrs.stderr Remove derives Encodable/Decodable and unstabilize attribute #[bench] 2019-07-31 21:27:59 +03:00
issue-43106-gating-of-deprecated.rs compiletest: Remove skip-codegen 2019-06-16 12:23:22 +03:00
issue-43106-gating-of-derive-2.rs Do not abort compilation if expansion produces errors 2018-12-27 15:51:36 +03:00
issue-43106-gating-of-derive-2.stderr resolve: Block expansion of a derive container until all its derives are resolved 2019-08-27 00:31:55 +03:00
issue-43106-gating-of-derive.rs resolve: Block expansion of a derive container until all its derives are resolved 2019-08-27 00:31:55 +03:00
issue-43106-gating-of-derive.stderr resolve: Block expansion of a derive container until all its derives are resolved 2019-08-27 00:31:55 +03:00
issue-43106-gating-of-inline.rs Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-inline.stderr normalize use of backticks in compiler messages for librustc/lint 2019-07-17 22:49:48 +02:00
issue-43106-gating-of-macro_escape.rs Migrate compile-pass annotations to build-pass 2019-07-03 06:30:28 +09:00
issue-43106-gating-of-macro_escape.stderr normalize use of backticks for compiler messages in remaining modules 2019-07-23 23:09:59 +02:00
issue-43106-gating-of-macro_use.rs Reword malformed attribute input diagnostics 2019-05-25 11:55:50 -07:00
issue-43106-gating-of-macro_use.stderr Reword malformed attribute input diagnostics 2019-05-25 11:55:50 -07:00
issue-43106-gating-of-proc_macro_derive.rs Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-proc_macro_derive.stderr Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-rustc_deprecated.rs Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-rustc_deprecated.stderr Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-stable.rs Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-stable.stderr Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-test.rs Introduce built-in macros through libcore 2019-07-26 13:09:54 +03:00
issue-43106-gating-of-test.stderr Introduce built-in macros through libcore 2019-07-26 13:09:54 +03:00
issue-43106-gating-of-unstable.rs Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-43106-gating-of-unstable.stderr Implement basic input validation for built-in attributes 2019-01-13 14:17:19 +03:00
issue-49983-see-issue-0.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-49983-see-issue-0.stderr normalize use of backticks in compiler messages for libcore/ptr 2019-07-18 23:33:16 +02:00
rustc-private.rs add rustc_private as a proper language feature gate 2019-07-22 16:32:13 +03:00
rustc-private.stderr add rustc_private as a proper language feature gate 2019-07-22 16:32:13 +03:00
stability-attribute-consistency.rs Remove licenses 2018-12-25 21:08:33 -07:00
stability-attribute-consistency.stderr hide --explain hint if error has no extended info 2019-04-18 13:29:28 -04:00
unknown-feature.rs Remove licenses 2018-12-25 21:08:33 -07:00
unknown-feature.stderr Update tests 2019-03-11 23:10:26 +03:00