[INFO] crate futures-await-syn 0.12.0 is already in cache [INFO] extracting crate futures-await-syn 0.12.0 into work/ex/beta-1.38-1/sources/1.37.0/reg/futures-await-syn/0.12.0 [INFO] extracting crate futures-await-syn 0.12.0 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/futures-await-syn/0.12.0 [INFO] validating manifest of futures-await-syn-0.12.0 on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of futures-await-syn-0.12.0 on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing futures-await-syn-0.12.0 [INFO] finished frobbing futures-await-syn-0.12.0 [INFO] frobbed toml for futures-await-syn-0.12.0 written to work/ex/beta-1.38-1/sources/1.37.0/reg/futures-await-syn/0.12.0/Cargo.toml [INFO] started frobbing futures-await-syn-0.12.0 [INFO] finished frobbing futures-await-syn-0.12.0 [INFO] frobbed toml for futures-await-syn-0.12.0 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/futures-await-syn/0.12.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing futures-await-syn-0.12.0 against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/futures-await-syn/0.12.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] de6459cf5f660d1176a1c6dc7560ce12e3f74a48ffa4a6a8b901f6578400f804 [INFO] running `"docker" "start" "-a" "de6459cf5f660d1176a1c6dc7560ce12e3f74a48ffa4a6a8b901f6578400f804"` [INFO] [stderr] Compiling futures-await-synom v0.12.0 [INFO] [stderr] Compiling futures-await-syn v0.12.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:748:5 [INFO] [stderr] | [INFO] [stderr] 748 | / /// ```ignore [INFO] [stderr] 749 | | /// = .. [INFO] [stderr] 750 | | /// += .. [INFO] [stderr] 751 | | /// -= .. [INFO] [stderr] ... | [INFO] [stderr] 761 | | /// [INFO] [stderr] 762 | | /// NOTE: This operator is right-associative. [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] 763 | #[cfg(feature = "full")] [INFO] [stderr] 764 | / named!(assign_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 765 | | mut e: call!(placement_expr, allow_struct, allow_block) >> [INFO] [stderr] 766 | | alt!( [INFO] [stderr] 767 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 795 | | (e) [INFO] [stderr] 796 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:798:5 [INFO] [stderr] | [INFO] [stderr] 798 | / /// ```ignore [INFO] [stderr] 799 | | /// <- .. [INFO] [stderr] 800 | | /// ``` [INFO] [stderr] 801 | | /// [INFO] [stderr] ... | [INFO] [stderr] 804 | | /// [INFO] [stderr] 805 | | /// NOTE: This operator is right-associative. [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] 806 | #[cfg(feature = "full")] [INFO] [stderr] 807 | / named!(placement_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 808 | | mut e: call!(range_expr, allow_struct, allow_block) >> [INFO] [stderr] 809 | | alt!( [INFO] [stderr] 810 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 826 | | (e) [INFO] [stderr] 827 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:829:5 [INFO] [stderr] | [INFO] [stderr] 829 | / /// ```ignore [INFO] [stderr] 830 | | /// ... .. [INFO] [stderr] 831 | | /// .. .. [INFO] [stderr] 832 | | /// .. [INFO] [stderr] ... | [INFO] [stderr] 840 | | /// NOTE: The form of ranges which don't include a preceding expression are [INFO] [stderr] 841 | | /// parsed by `atom_expr`, rather than by this function. [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] 842 | #[cfg(feature = "full")] [INFO] [stderr] 843 | / named!(range_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 844 | | mut e: call!(or_expr, allow_struct, allow_block) >> [INFO] [stderr] 845 | | many0!(do_parse!( [INFO] [stderr] 846 | | limits: syn!(RangeLimits) >> [INFO] [stderr] ... | [INFO] [stderr] 858 | | (e) [INFO] [stderr] 859 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:861:5 [INFO] [stderr] | [INFO] [stderr] 861 | / /// ```ignore [INFO] [stderr] 862 | | /// || ... [INFO] [stderr] 863 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 864 | binop!(or_expr, and_expr, map!(syn!(OrOr), BinOp::Or)); [INFO] [stderr] | ------------------------------------------------------- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:866:5 [INFO] [stderr] | [INFO] [stderr] 866 | / /// ```ignore [INFO] [stderr] 867 | | /// && ... [INFO] [stderr] 868 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 869 | binop!(and_expr, compare_expr, map!(syn!(AndAnd), BinOp::And)); [INFO] [stderr] | --------------------------------------------------------------- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:871:5 [INFO] [stderr] | [INFO] [stderr] 871 | / /// ```ignore [INFO] [stderr] 872 | | /// == ... [INFO] [stderr] 873 | | /// != ... [INFO] [stderr] 874 | | /// >= ... [INFO] [stderr] ... | [INFO] [stderr] 880 | | /// NOTE: This operator appears to be parsed as left-associative, but errors [INFO] [stderr] 881 | | /// if it is used in a non-associative manner. [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] 882 | / binop!(compare_expr, bitor_expr, alt!( [INFO] [stderr] 883 | | syn!(EqEq) => { BinOp::Eq } [INFO] [stderr] 884 | | | [INFO] [stderr] 885 | | syn!(Ne) => { BinOp::Ne } [INFO] [stderr] ... | [INFO] [stderr] 900 | | syn!(Gt) => { BinOp::Gt } [INFO] [stderr] 901 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:903:5 [INFO] [stderr] | [INFO] [stderr] 903 | / /// ```ignore [INFO] [stderr] 904 | | /// | ... [INFO] [stderr] 905 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 906 | / binop!(bitor_expr, bitxor_expr, do_parse!( [INFO] [stderr] 907 | | not!(syn!(OrOr)) >> [INFO] [stderr] 908 | | not!(syn!(OrEq)) >> [INFO] [stderr] 909 | | t: syn!(Or) >> [INFO] [stderr] 910 | | (BinOp::BitOr(t)) [INFO] [stderr] 911 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:913:5 [INFO] [stderr] | [INFO] [stderr] 913 | / /// ```ignore [INFO] [stderr] 914 | | /// ^ ... [INFO] [stderr] 915 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 916 | / binop!(bitxor_expr, bitand_expr, do_parse!( [INFO] [stderr] 917 | | // NOTE: Make sure we aren't looking at ^=. [INFO] [stderr] 918 | | not!(syn!(CaretEq)) >> [INFO] [stderr] 919 | | t: syn!(Caret) >> [INFO] [stderr] 920 | | (BinOp::BitXor(t)) [INFO] [stderr] 921 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:923:5 [INFO] [stderr] | [INFO] [stderr] 923 | / /// ```ignore [INFO] [stderr] 924 | | /// & ... [INFO] [stderr] 925 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 926 | / binop!(bitand_expr, shift_expr, do_parse!( [INFO] [stderr] 927 | | // NOTE: Make sure we aren't looking at && or &=. [INFO] [stderr] 928 | | not!(syn!(AndAnd)) >> [INFO] [stderr] 929 | | not!(syn!(AndEq)) >> [INFO] [stderr] 930 | | t: syn!(And) >> [INFO] [stderr] 931 | | (BinOp::BitAnd(t)) [INFO] [stderr] 932 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:934:5 [INFO] [stderr] | [INFO] [stderr] 934 | / /// ```ignore [INFO] [stderr] 935 | | /// << ... [INFO] [stderr] 936 | | /// >> ... [INFO] [stderr] 937 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 938 | / binop!(shift_expr, arith_expr, alt!( [INFO] [stderr] 939 | | syn!(Shl) => { BinOp::Shl } [INFO] [stderr] 940 | | | [INFO] [stderr] 941 | | syn!(Shr) => { BinOp::Shr } [INFO] [stderr] 942 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:944:5 [INFO] [stderr] | [INFO] [stderr] 944 | / /// ```ignore [INFO] [stderr] 945 | | /// + ... [INFO] [stderr] 946 | | /// - ... [INFO] [stderr] 947 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 948 | / binop!(arith_expr, term_expr, alt!( [INFO] [stderr] 949 | | syn!(Add) => { BinOp::Add } [INFO] [stderr] 950 | | | [INFO] [stderr] 951 | | syn!(Sub) => { BinOp::Sub } [INFO] [stderr] 952 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:954:5 [INFO] [stderr] | [INFO] [stderr] 954 | / /// ```ignore [INFO] [stderr] 955 | | /// * ... [INFO] [stderr] 956 | | /// / ... [INFO] [stderr] 957 | | /// % ... [INFO] [stderr] 958 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 959 | / binop!(term_expr, cast_expr, alt!( [INFO] [stderr] 960 | | syn!(Star) => { BinOp::Mul } [INFO] [stderr] 961 | | | [INFO] [stderr] 962 | | syn!(Div) => { BinOp::Div } [INFO] [stderr] 963 | | | [INFO] [stderr] 964 | | syn!(Rem) => { BinOp::Rem } [INFO] [stderr] 965 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:967:5 [INFO] [stderr] | [INFO] [stderr] 967 | / /// ```ignore [INFO] [stderr] 968 | | /// as [INFO] [stderr] 969 | | /// : [INFO] [stderr] 970 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 971 | / named!(cast_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 972 | | mut e: call!(unary_expr, allow_struct, allow_block) >> [INFO] [stderr] 973 | | many0!(alt!( [INFO] [stderr] 974 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 1002 | | (e) [INFO] [stderr] 1003 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:1005:5 [INFO] [stderr] | [INFO] [stderr] 1005 | / /// ``` [INFO] [stderr] 1006 | | /// [INFO] [stderr] 1007 | | /// & [INFO] [stderr] 1008 | | /// &mut [INFO] [stderr] 1009 | | /// box [INFO] [stderr] 1010 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 1011 | #[cfg(feature = "full")] [INFO] [stderr] 1012 | / named!(unary_expr(allow_struct: bool, allow_block: bool) -> ExprKind, alt!( [INFO] [stderr] 1013 | | do_parse!( [INFO] [stderr] 1014 | | op: syn!(UnOp) >> [INFO] [stderr] 1015 | | expr: call!(unary_expr, allow_struct, true) >> [INFO] [stderr] ... | [INFO] [stderr] 1042 | | call!(trailer_expr, allow_struct, allow_block) [INFO] [stderr] 1043 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:1060:5 [INFO] [stderr] | [INFO] [stderr] 1060 | / /// ```ignore [INFO] [stderr] 1061 | | /// (..) ... [INFO] [stderr] 1062 | | /// . (..) ... [INFO] [stderr] 1063 | | /// . ... [INFO] [stderr] ... | [INFO] [stderr] 1066 | | /// ? ... [INFO] [stderr] 1067 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 1068 | #[cfg(feature = "full")] [INFO] [stderr] 1069 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 1070 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stderr] 1071 | | many0!(alt!( [INFO] [stderr] 1072 | | tap!(args: and_call => { [INFO] [stderr] ... | [INFO] [stderr] 1121 | | (e) [INFO] [stderr] 1122 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:1150:5 [INFO] [stderr] | [INFO] [stderr] 1150 | / /// Parse all atomic expressions which don't have to worry about precidence [INFO] [stderr] 1151 | | /// interactions, as they are fully contained. [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] 1152 | #[cfg(feature = "full")] [INFO] [stderr] 1153 | / named!(atom_expr(allow_struct: bool, allow_block: bool) -> ExprKind, alt!( [INFO] [stderr] 1154 | | syn!(ExprGroup) => { ExprKind::Group } // must be placed first [INFO] [stderr] 1155 | | | [INFO] [stderr] 1156 | | syn!(Lit) => { ExprKind::Lit } // must be before expr_struct [INFO] [stderr] ... | [INFO] [stderr] 1205 | | syn!(ExprRepeat) => { ExprKind::Repeat } [INFO] [stderr] 1206 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.58s [INFO] running `"docker" "inspect" "de6459cf5f660d1176a1c6dc7560ce12e3f74a48ffa4a6a8b901f6578400f804"` [INFO] running `"docker" "rm" "-f" "de6459cf5f660d1176a1c6dc7560ce12e3f74a48ffa4a6a8b901f6578400f804"` [INFO] [stdout] de6459cf5f660d1176a1c6dc7560ce12e3f74a48ffa4a6a8b901f6578400f804 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/futures-await-syn/0.12.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 595d548c86f103ff78a219f0e043be878b7370bcc39a8cd37bbf65f860069db6 [INFO] running `"docker" "start" "-a" "595d548c86f103ff78a219f0e043be878b7370bcc39a8cd37bbf65f860069db6"` [INFO] [stderr] Compiling futures-await-syn v0.12.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:748:5 [INFO] [stderr] | [INFO] [stderr] 748 | / /// ```ignore [INFO] [stderr] 749 | | /// = .. [INFO] [stderr] 750 | | /// += .. [INFO] [stderr] 751 | | /// -= .. [INFO] [stderr] ... | [INFO] [stderr] 761 | | /// [INFO] [stderr] 762 | | /// NOTE: This operator is right-associative. [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] 763 | #[cfg(feature = "full")] [INFO] [stderr] 764 | / named!(assign_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 765 | | mut e: call!(placement_expr, allow_struct, allow_block) >> [INFO] [stderr] 766 | | alt!( [INFO] [stderr] 767 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 795 | | (e) [INFO] [stderr] 796 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:798:5 [INFO] [stderr] | [INFO] [stderr] 798 | / /// ```ignore [INFO] [stderr] 799 | | /// <- .. [INFO] [stderr] 800 | | /// ``` [INFO] [stderr] 801 | | /// [INFO] [stderr] ... | [INFO] [stderr] 804 | | /// [INFO] [stderr] 805 | | /// NOTE: This operator is right-associative. [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] 806 | #[cfg(feature = "full")] [INFO] [stderr] 807 | / named!(placement_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 808 | | mut e: call!(range_expr, allow_struct, allow_block) >> [INFO] [stderr] 809 | | alt!( [INFO] [stderr] 810 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 826 | | (e) [INFO] [stderr] 827 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:829:5 [INFO] [stderr] | [INFO] [stderr] 829 | / /// ```ignore [INFO] [stderr] 830 | | /// ... .. [INFO] [stderr] 831 | | /// .. .. [INFO] [stderr] 832 | | /// .. [INFO] [stderr] ... | [INFO] [stderr] 840 | | /// NOTE: The form of ranges which don't include a preceding expression are [INFO] [stderr] 841 | | /// parsed by `atom_expr`, rather than by this function. [INFO] [stderr] | |____________________________________________________________^ [INFO] [stderr] 842 | #[cfg(feature = "full")] [INFO] [stderr] 843 | / named!(range_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 844 | | mut e: call!(or_expr, allow_struct, allow_block) >> [INFO] [stderr] 845 | | many0!(do_parse!( [INFO] [stderr] 846 | | limits: syn!(RangeLimits) >> [INFO] [stderr] ... | [INFO] [stderr] 858 | | (e) [INFO] [stderr] 859 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:861:5 [INFO] [stderr] | [INFO] [stderr] 861 | / /// ```ignore [INFO] [stderr] 862 | | /// || ... [INFO] [stderr] 863 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 864 | binop!(or_expr, and_expr, map!(syn!(OrOr), BinOp::Or)); [INFO] [stderr] | ------------------------------------------------------- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:866:5 [INFO] [stderr] | [INFO] [stderr] 866 | / /// ```ignore [INFO] [stderr] 867 | | /// && ... [INFO] [stderr] 868 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 869 | binop!(and_expr, compare_expr, map!(syn!(AndAnd), BinOp::And)); [INFO] [stderr] | --------------------------------------------------------------- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:871:5 [INFO] [stderr] | [INFO] [stderr] 871 | / /// ```ignore [INFO] [stderr] 872 | | /// == ... [INFO] [stderr] 873 | | /// != ... [INFO] [stderr] 874 | | /// >= ... [INFO] [stderr] ... | [INFO] [stderr] 880 | | /// NOTE: This operator appears to be parsed as left-associative, but errors [INFO] [stderr] 881 | | /// if it is used in a non-associative manner. [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] 882 | / binop!(compare_expr, bitor_expr, alt!( [INFO] [stderr] 883 | | syn!(EqEq) => { BinOp::Eq } [INFO] [stderr] 884 | | | [INFO] [stderr] 885 | | syn!(Ne) => { BinOp::Ne } [INFO] [stderr] ... | [INFO] [stderr] 900 | | syn!(Gt) => { BinOp::Gt } [INFO] [stderr] 901 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:903:5 [INFO] [stderr] | [INFO] [stderr] 903 | / /// ```ignore [INFO] [stderr] 904 | | /// | ... [INFO] [stderr] 905 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 906 | / binop!(bitor_expr, bitxor_expr, do_parse!( [INFO] [stderr] 907 | | not!(syn!(OrOr)) >> [INFO] [stderr] 908 | | not!(syn!(OrEq)) >> [INFO] [stderr] 909 | | t: syn!(Or) >> [INFO] [stderr] 910 | | (BinOp::BitOr(t)) [INFO] [stderr] 911 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:913:5 [INFO] [stderr] | [INFO] [stderr] 913 | / /// ```ignore [INFO] [stderr] 914 | | /// ^ ... [INFO] [stderr] 915 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 916 | / binop!(bitxor_expr, bitand_expr, do_parse!( [INFO] [stderr] 917 | | // NOTE: Make sure we aren't looking at ^=. [INFO] [stderr] 918 | | not!(syn!(CaretEq)) >> [INFO] [stderr] 919 | | t: syn!(Caret) >> [INFO] [stderr] 920 | | (BinOp::BitXor(t)) [INFO] [stderr] 921 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:923:5 [INFO] [stderr] | [INFO] [stderr] 923 | / /// ```ignore [INFO] [stderr] 924 | | /// & ... [INFO] [stderr] 925 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 926 | / binop!(bitand_expr, shift_expr, do_parse!( [INFO] [stderr] 927 | | // NOTE: Make sure we aren't looking at && or &=. [INFO] [stderr] 928 | | not!(syn!(AndAnd)) >> [INFO] [stderr] 929 | | not!(syn!(AndEq)) >> [INFO] [stderr] 930 | | t: syn!(And) >> [INFO] [stderr] 931 | | (BinOp::BitAnd(t)) [INFO] [stderr] 932 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:934:5 [INFO] [stderr] | [INFO] [stderr] 934 | / /// ```ignore [INFO] [stderr] 935 | | /// << ... [INFO] [stderr] 936 | | /// >> ... [INFO] [stderr] 937 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 938 | / binop!(shift_expr, arith_expr, alt!( [INFO] [stderr] 939 | | syn!(Shl) => { BinOp::Shl } [INFO] [stderr] 940 | | | [INFO] [stderr] 941 | | syn!(Shr) => { BinOp::Shr } [INFO] [stderr] 942 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:944:5 [INFO] [stderr] | [INFO] [stderr] 944 | / /// ```ignore [INFO] [stderr] 945 | | /// + ... [INFO] [stderr] 946 | | /// - ... [INFO] [stderr] 947 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 948 | / binop!(arith_expr, term_expr, alt!( [INFO] [stderr] 949 | | syn!(Add) => { BinOp::Add } [INFO] [stderr] 950 | | | [INFO] [stderr] 951 | | syn!(Sub) => { BinOp::Sub } [INFO] [stderr] 952 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:954:5 [INFO] [stderr] | [INFO] [stderr] 954 | / /// ```ignore [INFO] [stderr] 955 | | /// * ... [INFO] [stderr] 956 | | /// / ... [INFO] [stderr] 957 | | /// % ... [INFO] [stderr] 958 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 959 | / binop!(term_expr, cast_expr, alt!( [INFO] [stderr] 960 | | syn!(Star) => { BinOp::Mul } [INFO] [stderr] 961 | | | [INFO] [stderr] 962 | | syn!(Div) => { BinOp::Div } [INFO] [stderr] 963 | | | [INFO] [stderr] 964 | | syn!(Rem) => { BinOp::Rem } [INFO] [stderr] 965 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:967:5 [INFO] [stderr] | [INFO] [stderr] 967 | / /// ```ignore [INFO] [stderr] 968 | | /// as [INFO] [stderr] 969 | | /// : [INFO] [stderr] 970 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 971 | / named!(cast_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 972 | | mut e: call!(unary_expr, allow_struct, allow_block) >> [INFO] [stderr] 973 | | many0!(alt!( [INFO] [stderr] 974 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 1002 | | (e) [INFO] [stderr] 1003 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:1005:5 [INFO] [stderr] | [INFO] [stderr] 1005 | / /// ``` [INFO] [stderr] 1006 | | /// [INFO] [stderr] 1007 | | /// & [INFO] [stderr] 1008 | | /// &mut [INFO] [stderr] 1009 | | /// box [INFO] [stderr] 1010 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 1011 | #[cfg(feature = "full")] [INFO] [stderr] 1012 | / named!(unary_expr(allow_struct: bool, allow_block: bool) -> ExprKind, alt!( [INFO] [stderr] 1013 | | do_parse!( [INFO] [stderr] 1014 | | op: syn!(UnOp) >> [INFO] [stderr] 1015 | | expr: call!(unary_expr, allow_struct, true) >> [INFO] [stderr] ... | [INFO] [stderr] 1042 | | call!(trailer_expr, allow_struct, allow_block) [INFO] [stderr] 1043 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:1060:5 [INFO] [stderr] | [INFO] [stderr] 1060 | / /// ```ignore [INFO] [stderr] 1061 | | /// (..) ... [INFO] [stderr] 1062 | | /// . (..) ... [INFO] [stderr] 1063 | | /// . ... [INFO] [stderr] ... | [INFO] [stderr] 1066 | | /// ? ... [INFO] [stderr] 1067 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] 1068 | #[cfg(feature = "full")] [INFO] [stderr] 1069 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> ExprKind, do_parse!( [INFO] [stderr] 1070 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stderr] 1071 | | many0!(alt!( [INFO] [stderr] 1072 | | tap!(args: and_call => { [INFO] [stderr] ... | [INFO] [stderr] 1121 | | (e) [INFO] [stderr] 1122 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/expr.rs:1150:5 [INFO] [stderr] | [INFO] [stderr] 1150 | / /// Parse all atomic expressions which don't have to worry about precidence [INFO] [stderr] 1151 | | /// interactions, as they are fully contained. [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] 1152 | #[cfg(feature = "full")] [INFO] [stderr] 1153 | / named!(atom_expr(allow_struct: bool, allow_block: bool) -> ExprKind, alt!( [INFO] [stderr] 1154 | | syn!(ExprGroup) => { ExprKind::Group } // must be placed first [INFO] [stderr] 1155 | | | [INFO] [stderr] 1156 | | syn!(Lit) => { ExprKind::Lit } // must be before expr_struct [INFO] [stderr] ... | [INFO] [stderr] 1205 | | syn!(ExprRepeat) => { ExprKind::Repeat } [INFO] [stderr] 1206 | | )); [INFO] [stderr] | |_______- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.38s [INFO] running `"docker" "inspect" "595d548c86f103ff78a219f0e043be878b7370bcc39a8cd37bbf65f860069db6"` [INFO] running `"docker" "rm" "-f" "595d548c86f103ff78a219f0e043be878b7370bcc39a8cd37bbf65f860069db6"` [INFO] [stdout] 595d548c86f103ff78a219f0e043be878b7370bcc39a8cd37bbf65f860069db6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/reg/futures-await-syn/0.12.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen"` [INFO] [stdout] db7e8e5335e46dba668be6adcbe4a01e05956c02540e4f3296cf2a8d8289a99e [INFO] running `"docker" "start" "-a" "db7e8e5335e46dba668be6adcbe4a01e05956c02540e4f3296cf2a8d8289a99e"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running /opt/crater/target/debug/deps/futures_await_syn-6f0c9b55f21cfd6f [INFO] [stderr] Running /opt/crater/target/debug/deps/test_derive_input-23b9effb98d5a49e [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/test_expr-6eca19ae33eebe12 [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/test_generics-6eb4871678c5a4b6 [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/test_grouping-4e377aa95f69f439 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/test_meta_item-db477516f1576bdd [INFO] [stdout] running 0 tests [INFO] [stderr] Running /opt/crater/target/debug/deps/test_precedence-b4d3a5ab916229f0 [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/test_round_trip-ff1e477b189d3078 [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/test_token_trees-54c1c3d64e601f6e [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests futures-await-syn [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/lib.rs - parse (line 127) ... ignored [INFO] [stdout] test src/macros.rs - ty::QSelf (line 30) ... ignored [INFO] [stdout] test src/generics.rs - generics::Generics::split_for_impl (line 40) ... FAILED [INFO] [stdout] test src/lib.rs - parse_str (line 222) ... FAILED [INFO] [stdout] test src/lib.rs - parse_tokens (line 188) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/generics.rs - generics::Generics::split_for_impl (line 40) stdout ---- [INFO] [stdout] error[E0463]: can't find crate for `syn` [INFO] [stdout] --> src/generics.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate syn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0463`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - parse_str (line 222) stdout ---- [INFO] [stdout] error[E0463]: can't find crate for `syn` [INFO] [stdout] --> src/lib.rs:223:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate syn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0463`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - parse_tokens (line 188) stdout ---- [INFO] [stdout] error[E0463]: can't find crate for `syn` [INFO] [stdout] --> src/lib.rs:189:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate syn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0463`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/generics.rs - generics::Generics::split_for_impl (line 40) [INFO] [stdout] src/lib.rs - parse_str (line 222) [INFO] [stdout] src/lib.rs - parse_tokens (line 188) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 2 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--doc' [INFO] running `"docker" "inspect" "db7e8e5335e46dba668be6adcbe4a01e05956c02540e4f3296cf2a8d8289a99e"` [INFO] running `"docker" "rm" "-f" "db7e8e5335e46dba668be6adcbe4a01e05956c02540e4f3296cf2a8d8289a99e"` [INFO] [stdout] db7e8e5335e46dba668be6adcbe4a01e05956c02540e4f3296cf2a8d8289a99e