Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support stability and deprecation checking for all macros #62042

Merged
merged 10 commits into from Jul 7, 2019

Conversation

Projects
None yet
7 participants
@petrochenkov
Copy link
Contributor

commented Jun 22, 2019

RELNOTES: Deprecation attributes on macros now have effect.

Fixes #34079
Fixes #49912
Unblocks #62086
Unblocks #61000

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Jun 22, 2019

r? @pnkfelix

(rust_highfive has picked a reviewer for you, use r? to override)

@Centril

This comment has been minimized.

Copy link
Member

commented Jun 22, 2019

RELNOTES: Deprecation attributes on macros now have effect.

@bors

This comment was marked as resolved.

Copy link
Contributor

commented Jun 22, 2019

☔️ The latest upstream changes (presumably #62041) made this pull request unmergeable. Please resolve the merge conflicts.

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented Jun 22, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:06c43a9a:start=1561212341109231978,finish=1561212343291519974,duration=2182287996
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_assembly
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:07:34] 
[01:07:34] running 9 tests
[01:07:34] iiiiiiiii
[01:07:34] 
[01:07:34]  finished in 0.156
[01:07:34] travis_fold:end:test_assembly

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:07:51] 
[01:07:51] running 122 tests
[01:08:17] .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
[01:08:22] .i.i......iii.i.....ii
[01:08:22] 
[01:08:22]  finished in 31.387
[01:08:22] travis_fold:end:test_debuginfo

---
[01:08:23] 
[01:08:23] running 24 tests
[01:08:30] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:521:22
[01:08:30] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:08:30] ..F.....................
[01:08:30] 
[01:08:30] ---- [ui] ui-fulldeps/deprecated-derive.rs stdout ----
[01:08:30] diff of stderr:
[01:08:30] 
[01:08:30] 
[01:08:30] - warning: derive(Encodable) is deprecated in favor of derive(RustcEncodable)
[01:08:30] + warning: use of deprecated item 'Encodable': derive(Encodable) is deprecated in favor of derive(RustcEncodable)
[01:08:30] 3    |
[01:08:30] 3    |
[01:08:30] 4 LL | #[derive(Encodable)]
[01:08:30] 5    |          ^^^^^^^^^
[01:08:30] +    |
[01:08:30] +    = note: #[warn(deprecated)] on by default
[01:08:30] 6 
[01:08:30] 6 
[01:08:30] 7 
[01:08:30] 
[01:08:30] 
[01:08:30] The actual stderr differed from the expected stderr.
[01:08:30] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/deprecated-derive/deprecated-derive.stderr
[01:08:30] To update references, rerun the tests and pass the `--bless` flag
[01:08:30] To only update this specific test, also pass `--test-args deprecated-derive.rs`
[01:08:30] error: 1 errors occurred comparing output.
[01:08:30] status: exit code: 0
[01:08:30] status: exit code: 0
[01:08:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/deprecated-derive.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/deprecated-derive/a" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/deprecated-derive/auxiliary" "-A" "unused"
[01:08:30] ------------------------------------------
[01:08:30] 
[01:08:30] ------------------------------------------
[01:08:30] stderr:
[01:08:30] stderr:
[01:08:30] ------------------------------------------
[01:08:30] warning: use of deprecated item 'Encodable': derive(Encodable) is deprecated in favor of derive(RustcEncodable)
[01:08:30]    |
[01:08:30]    |
[01:08:30] LL | #[derive(Encodable)]
[01:08:30]    |
[01:08:30]    = note: #[warn(deprecated)] on by default
[01:08:30] 
[01:08:30] 
---
[01:08:30] test result: FAILED. 23 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
[01:08:30] 
[01:08:30] 
[01:08:30] 
[01:08:30] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui-fulldeps" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:08:30] 
[01:08:30] 
[01:08:30] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:08:30] Build completed unsuccessfully in 1:03:34
---
travis_time:end:0378c49d:start=1561216465837204983,finish=1561216465842431365,duration=5226382
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0cab7180
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:126e984c
travis_time:start:126e984c
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:097e989e
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@petrochenkov petrochenkov force-pushed the petrochenkov:macstab branch from 1f3b32c to c2fec8d Jun 22, 2019

@BO41

This comment has been minimized.

Copy link

commented Jun 23, 2019

Unblocks #61000 ❤️

@bors

This comment was marked as resolved.

Copy link
Contributor

commented Jun 24, 2019

☔️ The latest upstream changes (presumably #62070) made this pull request unmergeable. Please resolve the merge conflicts.

@petrochenkov petrochenkov force-pushed the petrochenkov:macstab branch from b4dea0d to 7844ff2 Jun 24, 2019

@bors

This comment was marked as resolved.

Copy link
Contributor

commented Jun 25, 2019

☔️ The latest upstream changes (presumably #62119) made this pull request unmergeable. Please resolve the merge conflicts.

@petrochenkov petrochenkov force-pushed the petrochenkov:macstab branch from 7844ff2 to b244387 Jun 26, 2019

@petrochenkov

This comment has been minimized.

Copy link
Contributor Author

commented Jun 28, 2019

ping @pnkfelix, this PR is blocking some other work

@Centril Centril modified the milestones: 1.37, 1.38 Jul 2, 2019

@bors

This comment was marked as resolved.

Copy link
Contributor

commented Jul 4, 2019

☔️ The latest upstream changes (presumably #62355) made this pull request unmergeable. Please resolve the merge conflicts.

@matthewjasper
Copy link
Contributor

left a comment

r? @matthewjasper

This looks good. r=me with or without comments addressed.

cc #58705 (unstable macros are checked intra-crate).

Show resolved Hide resolved src/libserialize/json.rs Outdated
Show resolved Hide resolved src/libsyntax_ext/test_case.rs
@bors

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2019

🔒 Merge conflict

This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again.

How do I rebase?

Assuming self is your fork and upstream is this repository, you can resolve the conflict following these steps:

  1. git checkout macstab (switch to your branch)
  2. git fetch upstream master (retrieve the latest master)
  3. git rebase upstream/master -p (rebase on top of it)
  4. Follow the on-screen instruction to resolve conflicts (check git status if you got lost).
  5. git push self macstab --force-with-lease (update this PR)

You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial.

Please avoid the "Resolve conflicts" button on GitHub. It uses git merge instead of git rebase which makes the PR commit history more difficult to read.

Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Cargo.lock conflict is handled during merge and rebase. This is normal, and you should still perform step 5 to update this PR.

Error message
Auto-merging src/libsyntax_pos/symbol.rs
Auto-merging src/libsyntax/feature_gate.rs
Auto-merging src/libsyntax/ext/tt/macro_rules.rs
CONFLICT (content): Merge conflict in src/libsyntax/ext/tt/macro_rules.rs
Auto-merging src/libsyntax/attr/builtin.rs
Auto-merging src/librustc_resolve/macros.rs
CONFLICT (content): Merge conflict in src/librustc_resolve/macros.rs
Auto-merging src/librustc/hir/lowering.rs
Automatic merge failed; fix conflicts and then commit the result.

@bors

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2019

☔️ The latest upstream changes (presumably #62452) made this pull request unmergeable. Please resolve the merge conflicts.

@petrochenkov petrochenkov force-pushed the petrochenkov:macstab branch from 2715737 to 941653b Jul 7, 2019

@petrochenkov

This comment has been minimized.

Copy link
Contributor Author

commented Jul 7, 2019

@bors r=matthewjasper

@bors

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2019

📌 Commit 941653b has been approved by matthewjasper

Centril added a commit to Centril/rust that referenced this pull request Jul 7, 2019

Rollup merge of rust-lang#62042 - petrochenkov:macstab, r=matthewjasper
Support stability and deprecation checking for all macros

RELNOTES: Deprecation attributes on macros now have effect.

Fixes rust-lang#34079
Fixes rust-lang#49912
Unblocks rust-lang#62086
Unblocks rust-lang#61000

@Centril Centril referenced this pull request Jul 7, 2019

Closed

Rollup of 4 pull requests #62461

bors added a commit that referenced this pull request Jul 7, 2019

Auto merge of #62461 - Centril:rollup-j4jxam2, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #61883 (`non_ascii_idents` lint (part of RFC 2457))
 - #62042 (Support stability and deprecation checking for all macros)
 - #62286 (Check if the archive has already been added to avoid duplicates)
 - #62432 (Update rustfmt to 1.3.2)

Failed merges:

r? @ghost

Centril added a commit to Centril/rust that referenced this pull request Jul 7, 2019

Rollup merge of rust-lang#62042 - petrochenkov:macstab, r=matthewjasper
Support stability and deprecation checking for all macros

RELNOTES: Deprecation attributes on macros now have effect.

Fixes rust-lang#34079
Fixes rust-lang#49912
Unblocks rust-lang#62086
Unblocks rust-lang#61000

@Centril Centril referenced this pull request Jul 7, 2019

Merged

Rollup of 4 pull requests #62467

bors added a commit that referenced this pull request Jul 7, 2019

Auto merge of #62467 - Centril:rollup-083tn7t, r=Centril
Rollup of 4 pull requests

Successful merges:

 - #61883 (`non_ascii_idents` lint (part of RFC 2457))
 - #62042 (Support stability and deprecation checking for all macros)
 - #62213 (rustdoc: set cfg(doctest) when collecting doctests)
 - #62286 (Check if the archive has already been added to avoid duplicates)

Failed merges:

r? @ghost

@bors bors merged commit 941653b into rust-lang:master Jul 7, 2019

3 checks passed

pr Build #20190707.19 succeeded
Details
pr (Linux mingw-check) Linux mingw-check succeeded
Details
pr (Linux x86_64-gnu-llvm-6.0) Linux x86_64-gnu-llvm-6.0 succeeded
Details

@petrochenkov petrochenkov deleted the petrochenkov:macstab branch Jul 8, 2019

Centril added a commit to Centril/rust that referenced this pull request Jul 11, 2019

Rollup merge of rust-lang#62476 - petrochenkov:expref, r=matthewjasper
Continue refactoring macro expansion and resolution

This PR continues the work started in rust-lang#62042.
It contains a set of more or less related refactorings with the general goal of making things simpler and more orthogonal.
Along the way most of the issues uncovered in rust-lang#62086 are fixed.

The PR is better read in per-commit fashion with whitespace changes ignored.
I tried to leave some more detailed commit messages describing the motivation behind the individual changes.

Fixes rust-lang#44692
Fixes rust-lang#52363
Unblocks rust-lang#62086
r? @matthewjasper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.