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

[WIP] Resolve attributes in several places #63468

Open
wants to merge 1 commit into
base: master
from

Conversation

@c410-f3r
Copy link
Contributor

commented Aug 11, 2019

Resolve attributes for Arg, Arm, Field, FieldPat, StructField and Variant.

This PR is based on @petrochenkov work located at petrochenkov@83fdb8d.

@petrochenkov

This comment has been minimized.

Copy link
Contributor

commented Aug 11, 2019

Meta: "draft" PRs don't interact well with our tooling, so it's better to avoid them.
"WIP" in the title is enough to see that the PR is an in progress work.

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Aug 11, 2019

The job mingw-check of your PR failed (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.
2019-08-11T18:44:40.5727387Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-11T18:44:40.5877384Z ##[command]git config gc.auto 0
2019-08-11T18:44:40.5951716Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-11T18:44:40.5999654Z ##[command]git config --get-all http.proxy
2019-08-11T18:44:40.6132020Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63468/merge:refs/remotes/pull/63468/merge
---
2019-08-11T18:45:15.2057763Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-11T18:45:15.2057796Z 
2019-08-11T18:45:15.2058048Z   git checkout -b <new-branch-name>
2019-08-11T18:45:15.2058083Z 
2019-08-11T18:45:15.2058136Z HEAD is now at a351c5e1c Merge a621d06091e063b15045e39efbbcfca16fbbb141 into 8a068699a24de306334a1f66b9a83552766d853c
2019-08-11T18:45:15.2215487Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-11T18:45:15.2218574Z ==============================================================================
2019-08-11T18:45:15.2218633Z Task         : Bash
2019-08-11T18:45:15.2218697Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-11T18:54:22.6293180Z    Compiling parking_lot_core v0.4.0
2019-08-11T18:54:26.2770248Z     Checking tempfile v3.0.5
2019-08-11T18:54:26.6363152Z     Checking parking_lot v0.7.1
2019-08-11T18:54:26.9482728Z     Checking rustdoc v0.0.0 (/checkout/src/librustdoc)
2019-08-11T18:54:30.1125166Z error[E0560]: struct `doctree::Variant<'_>` has no field named `stab`
2019-08-11T18:54:30.1125694Z    --> src/librustdoc/visit_ast.rs:122:17
2019-08-11T18:54:30.1126001Z     |
2019-08-11T18:54:30.1126354Z 122 |                 stab: self.stability(v.id),
2019-08-11T18:54:30.1132954Z     |                 ^^^^ `doctree::Variant<'_>` does not have this field
2019-08-11T18:54:30.1133283Z     |
2019-08-11T18:54:30.1133650Z     = note: available fields are: `name`, `id`, `attrs`, `def`, `whence`
2019-08-11T18:54:30.1133696Z 
2019-08-11T18:54:30.1836498Z error[E0599]: no method named `stability` found for type `&mut visit_ast::RustdocVisitor<'a, 'tcx>` in the current scope
2019-08-11T18:54:30.1836921Z    --> src/librustdoc/visit_ast.rs:122:28
2019-08-11T18:54:30.1837223Z     |
2019-08-11T18:54:30.1837642Z 122 |                 stab: self.stability(v.id),
2019-08-11T18:54:30.1838032Z 
2019-08-11T18:54:30.1838032Z 
2019-08-11T18:54:30.1838343Z error[E0560]: struct `doctree::Variant<'_>` has no field named `depr`
2019-08-11T18:54:30.1838656Z    --> src/librustdoc/visit_ast.rs:123:17
2019-08-11T18:54:30.1838919Z     |
2019-08-11T18:54:30.1839245Z 123 |                 depr: self.deprecation(v.id),
2019-08-11T18:54:30.1839625Z     |                 ^^^^ `doctree::Variant<'_>` does not have this field
2019-08-11T18:54:30.1839900Z     |
2019-08-11T18:54:30.1840428Z     = note: available fields are: `name`, `id`, `attrs`, `def`, `whence`
2019-08-11T18:54:30.1840493Z 
2019-08-11T18:54:30.1894950Z error[E0599]: no method named `deprecation` found for type `&mut visit_ast::RustdocVisitor<'a, 'tcx>` in the current scope
2019-08-11T18:54:30.1895315Z    --> src/librustdoc/visit_ast.rs:123:28
2019-08-11T18:54:30.1895935Z     |
2019-08-11T18:54:30.1896268Z 123 |                 depr: self.deprecation(v.id),
2019-08-11T18:54:30.1896650Z 
2019-08-11T18:54:30.3236178Z error: aborting due to 4 previous errors
2019-08-11T18:54:30.3236292Z 
2019-08-11T18:54:30.3236636Z Some errors have detailed explanations: E0560, E0599.
---
2019-08-11T18:54:30.3653512Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "check" "--target" "x86_64-unknown-linux-gnu" "-j" "2" "--release" "--color" "always" "--manifest-path" "/checkout/src/tools/rustdoc/Cargo.toml" "--message-format" "json"
2019-08-11T18:54:30.3653676Z expected success, got: exit code: 101
2019-08-11T18:54:30.3668318Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap check
2019-08-11T18:54:30.3668398Z Build completed unsuccessfully in 0:06:29
2019-08-11T18:54:32.3307446Z ##[error]Bash exited with code '1'.
2019-08-11T18:54:32.3341139Z ##[section]Starting: Checkout
2019-08-11T18:54:32.3343011Z ==============================================================================
2019-08-11T18:54:32.3343088Z Task         : Get sources
2019-08-11T18:54:32.3343142Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@c410-f3r c410-f3r changed the title Resolve attributes in several places [WIP] Resolve attributes in several places Aug 11, 2019

@c410-f3r c410-f3r marked this pull request as ready for review Aug 11, 2019

@@ -520,7 +519,11 @@ fn convert_variant_ctor(tcx: TyCtxt<'_>, ctor_id: hir::HirId) {
tcx.predicates_of(def_id);
}

fn convert_enum_variant_types<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId, variants: &[hir::Variant]) {
fn convert_enum_variant_types<'tcx>(

This comment has been minimized.

Copy link
@Centril

Centril Aug 11, 2019

Member
Suggested change
fn convert_enum_variant_types<'tcx>(
fn convert_enum_variant_types(
@@ -520,7 +519,11 @@ fn convert_variant_ctor(tcx: TyCtxt<'_>, ctor_id: hir::HirId) {
tcx.predicates_of(def_id);
}

fn convert_enum_variant_types<'tcx>(tcx: TyCtxt<'tcx>, def_id: DefId, variants: &[hir::Variant]) {
fn convert_enum_variant_types<'tcx>(
tcx: TyCtxt<'tcx>,

This comment has been minimized.

Copy link
@Centril

Centril Aug 11, 2019

Member
Suggested change
tcx: TyCtxt<'tcx>,
tcx: TyCtxt<'_>,
@@ -602,12 +602,13 @@ impl Pat {
/// except is_shorthand is true
#[derive(Clone, RustcEncodable, RustcDecodable, Debug)]
pub struct FieldPat {
/// The pattern the field is destructured to

This comment has been minimized.

Copy link
@Centril

Centril Aug 11, 2019

Member

Comment shouldn't be moved.

@@ -34,6 +34,12 @@ pub enum Annotatable {
ForeignItem(P<ast::ForeignItem>),
Stmt(P<ast::Stmt>),
Expr(P<ast::Expr>),
Arg(ast::Arg),

This comment has been minimized.

Copy link
@Centril

Centril Aug 11, 2019

Member

Seems like these new ones should also use a P<..>?

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Aug 12, 2019

Contributor

Not in general, fragments here should mirror what is used in AST.

@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 12, 2019

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

@@ -2189,7 +2189,7 @@ pub struct GlobalAsm {

#[derive(RustcEncodable, RustcDecodable, Debug, HashStable)]
pub struct EnumDef {
pub variants: HirVec<Variant>,
pub variants: HirVec<VariantKind>,

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Aug 12, 2019

Contributor

VariantKind -> Variant.
(The XxxKind naming is generally used for and enum inside of a struct Xxx.)

@@ -34,6 +34,12 @@ pub enum Annotatable {
ForeignItem(P<ast::ForeignItem>),
Stmt(P<ast::Stmt>),
Expr(P<ast::Expr>),
Arg(ast::Arg),

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Aug 12, 2019

Contributor

Not in general, fragments here should mirror what is used in AST.

@@ -163,6 +162,12 @@ pub trait Visitor<'ast>: Sized {
fn visit_fn_header(&mut self, _header: &'ast FnHeader) {
// Nothing to do
}
fn visit_field(&mut self, _: &'ast Field) {
// Nothing to do

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Aug 12, 2019

Contributor

Methods on the Visitor trait must always contain walk_* calls inside of them (unless they visit some leaf node without internal structure, like ast::Name).

visit_* methods must also always be called from their parent walk_* methods, otherwise they won't be overridable by specific visitors (which is the purpose of the the Visitor trait).

@petrochenkov

This comment has been minimized.

Copy link
Contributor

commented Aug 12, 2019

@c410-f3r
You can move the generic AST/HIR changes (Variant, new NodeIds) and visitor/mut_visitor changes into a separate PR, then we'll be able to merge them quickly.


fn visit_arg(&mut self, arg: &'a Arg) {
match arg.pat.node {
PatKind::Mac(..) => self.visit_macro_invoc(arg.id),

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Aug 12, 2019

Contributor

Unfortunately, we cannot use macros in nested nodes to detect placeholders.

It breaks the next case

#[attribute] pattern!(): Type

when the nested node has an actual pattern and it's not a placeholder, but we need a placeholder for #[attribute].

All of these nodes (Arg, Arm, Variant etc.) will have to keep an extra flag is_placeholder: bool in AST for now.

@Centril

This comment has been minimized.

Copy link
Member

commented Aug 12, 2019

(We'll need to feature gate using proc macro attrs on the new forms as well and set up a tracking issue unless there already is one.)

@petrochenkov

This comment has been minimized.

Copy link
Contributor

commented Aug 12, 2019

@Centril
The "expected an inert attribute, found an attribute macro" error in resolve currently works as a "feature gate" that cannot be enabled.

@Centril

This comment has been minimized.

Copy link
Member

commented Aug 12, 2019

@petrochenkov I see; I was confused by the added // check-pass test (which shouldn't pass...).

@c410-f3r

This comment has been minimized.

Copy link
Contributor Author

commented Aug 12, 2019

You can move the generic AST/HIR changes (Variant, new NodeIds) and visitor/mut_visitor changes into a separate PR, then we'll be able to merge them quickly.

Indeed

TraitItemKind,
TyKind,
Variant,
};

This comment has been minimized.

Copy link
@petrochenkov

petrochenkov Aug 13, 2019

Contributor

Style nit: please keep single-line imports.
(I found over time that multi-line imports are really interfering with simple grepping / text search.)

Show resolved Hide resolved src/libsyntax/ext/base.rs Outdated

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63528 - petrochenkov:anyany, r=estebank
syntax: Remove `DummyResult::expr_only`

The effect is that if a built-in macro both returns an erroneous AST fragment and is used in unexpected position, then the incorrect position error won't be reported.

This combination of two errors should be rare and isn't worth an extra field that makes people ask questions in comments.
(There wasn't even a test making sure it worked.)

Addresses rust-lang#63468 (comment)
r? @estebank

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63542 - c410-f3r:node_ids, r=petrochenkov
Add NodeId for Arm, Field and FieldPat

Extracted from rust-lang#63468

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63528 - petrochenkov:anyany, r=estebank
syntax: Remove `DummyResult::expr_only`

The effect is that if a built-in macro both returns an erroneous AST fragment and is used in unexpected position, then the incorrect position error won't be reported.

This combination of two errors should be rare and isn't worth an extra field that makes people ask questions in comments.
(There wasn't even a test making sure it worked.)

Addresses rust-lang#63468 (comment)
r? @estebank

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63537 - petrochenkov:novisit, r=alexcrichton
expand: Unimplement `MutVisitor` on `MacroExpander`

Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.

cc rust-lang#63468 (comment)

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63542 - c410-f3r:node_ids, r=petrochenkov
Add NodeId for Arm, Field and FieldPat

Extracted from rust-lang#63468

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63528 - petrochenkov:anyany, r=estebank
syntax: Remove `DummyResult::expr_only`

The effect is that if a built-in macro both returns an erroneous AST fragment and is used in unexpected position, then the incorrect position error won't be reported.

This combination of two errors should be rare and isn't worth an extra field that makes people ask questions in comments.
(There wasn't even a test making sure it worked.)

Addresses rust-lang#63468 (comment)
r? @estebank

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63537 - petrochenkov:novisit, r=alexcrichton
expand: Unimplement `MutVisitor` on `MacroExpander`

Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.

cc rust-lang#63468 (comment)

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63542 - c410-f3r:node_ids, r=petrochenkov
Add NodeId for Arm, Field and FieldPat

Extracted from rust-lang#63468

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63528 - petrochenkov:anyany, r=estebank
syntax: Remove `DummyResult::expr_only`

The effect is that if a built-in macro both returns an erroneous AST fragment and is used in unexpected position, then the incorrect position error won't be reported.

This combination of two errors should be rare and isn't worth an extra field that makes people ask questions in comments.
(There wasn't even a test making sure it worked.)

Addresses rust-lang#63468 (comment)
r? @estebank

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63537 - petrochenkov:novisit, r=alexcrichton
expand: Unimplement `MutVisitor` on `MacroExpander`

Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.

cc rust-lang#63468 (comment)

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63542 - c410-f3r:node_ids, r=petrochenkov
Add NodeId for Arm, Field and FieldPat

Extracted from rust-lang#63468

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63528 - petrochenkov:anyany, r=estebank
syntax: Remove `DummyResult::expr_only`

The effect is that if a built-in macro both returns an erroneous AST fragment and is used in unexpected position, then the incorrect position error won't be reported.

This combination of two errors should be rare and isn't worth an extra field that makes people ask questions in comments.
(There wasn't even a test making sure it worked.)

Addresses rust-lang#63468 (comment)
r? @estebank

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63537 - petrochenkov:novisit, r=alexcrichton
expand: Unimplement `MutVisitor` on `MacroExpander`

Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.

cc rust-lang#63468 (comment)

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63542 - c410-f3r:node_ids, r=petrochenkov
Add NodeId for Arm, Field and FieldPat

Extracted from rust-lang#63468

Centril added a commit to Centril/rust that referenced this pull request Aug 14, 2019

Rollup merge of rust-lang#63543 - c410-f3r:variant, r=c410-f3r
Merge Variant and Variant_

Extracted from rust-lang#63468.
Resolve attributes in several places
Arg, Arm, Field, FieldPat, StructField and Variant_

@c410-f3r c410-f3r force-pushed the c410-f3r:attrs branch from a621d06 to 3a17f9d Aug 16, 2019

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Aug 16, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed (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.
2019-08-16T18:37:14.4274859Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-16T18:37:14.4565647Z ##[command]git config gc.auto 0
2019-08-16T18:37:14.4633711Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-16T18:37:14.4698414Z ##[command]git config --get-all http.proxy
2019-08-16T18:37:14.4849889Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63468/merge:refs/remotes/pull/63468/merge
---
2019-08-16T18:37:51.1304210Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-16T18:37:51.1304242Z 
2019-08-16T18:37:51.1304592Z   git checkout -b <new-branch-name>
2019-08-16T18:37:51.1304638Z 
2019-08-16T18:37:51.1304691Z HEAD is now at 4a5b19b8f Merge 3a17f9d48c605d7e8211354c10b4252445db6961 into 9a32ad0dd51f8451aa6e39d7e9ea89483cb8fcfa
2019-08-16T18:37:51.1465815Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-16T18:37:51.1468064Z ==============================================================================
2019-08-16T18:37:51.1468120Z Task         : Bash
2019-08-16T18:37:51.1468156Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-16T19:08:21.6162059Z Assembling stage1 compiler (x86_64-unknown-linux-gnu)
2019-08-16T19:08:21.6187164Z Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-16T19:08:22.0715996Z    Compiling cc v1.0.35
2019-08-16T19:08:22.0753888Z    Compiling core v0.0.0 (/checkout/src/libcore)
2019-08-16T19:08:23.4952724Z thread 'rustc' panicked at 'invocation data is reset for an invocation', src/librustc_resolve/build_reduced_graph.rs:1082:9
2019-08-16T19:08:23.6023817Z 
2019-08-16T19:08:23.6024045Z error: internal compiler error: unexpected panic
2019-08-16T19:08:23.6024076Z 
2019-08-16T19:08:23.6029020Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-16T19:08:23.6029020Z note: the compiler unexpectedly panicked. this is a bug.
2019-08-16T19:08:23.6072943Z 
2019-08-16T19:08:23.6073987Z note: we would appreciate a bug report: ***/blob/master/CONTRIBUTING.md#bug-reports
2019-08-16T19:08:23.6074319Z note: rustc 1.39.0-dev running on x86_64-unknown-linux-gnu
2019-08-16T19:08:23.6074346Z 
2019-08-16T19:08:23.6074346Z 
2019-08-16T19:08:23.6074654Z note: compiler flags: -Z binary-dep-depinfo -Z external-macro-backtrace -Z force-unstable-if-unmarked -C opt-level=2 -C debuginfo=0 -C prefer-dynamic -C debug-assertions=n -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
2019-08-16T19:08:23.6074724Z 
2019-08-16T19:08:23.6074762Z note: some of the compiler flags provided by cargo are hidden
2019-08-16T19:08:23.6162723Z error: Could not compile `core`.
2019-08-16T19:08:23.6163181Z warning: build failed, waiting for other jobs to finish...
2019-08-16T19:08:27.5478048Z error: build failed
2019-08-16T19:08:27.5501314Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-16T19:08:27.5501314Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-08-16T19:08:27.5502056Z expected success, got: exit code: 101
2019-08-16T19:08:27.5513382Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-16T19:08:27.5514350Z Build completed unsuccessfully in 0:23:59
2019-08-16T19:08:27.5573719Z == clock drift check ==
2019-08-16T19:08:27.5586807Z   local time: Fri Aug 16 19:08:27 UTC 2019
2019-08-16T19:08:27.8359314Z   network time: Fri, 16 Aug 2019 19:08:27 GMT
2019-08-16T19:08:27.8360656Z == end clock drift check ==
2019-08-16T19:08:28.6562661Z ##[error]Bash exited with code '1'.
2019-08-16T19:08:28.6604424Z ##[section]Starting: Checkout
2019-08-16T19:08:28.6605942Z ==============================================================================
2019-08-16T19:08:28.6605988Z Task         : Get sources
2019-08-16T19:08:28.6606045Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.