Skip to content

Commit 63e04e2

Browse files
committed
---
yaml --- r: 165631 b: refs/heads/auto c: ce10c01 h: refs/heads/master i: 165629: 2023cbb 165627: 0e29b6d 165623: 158cadc 165615: ae3b6bb 165599: 4687a20 165567: 08b66ce 165503: 79b9873 165375: 910c019 v: v3
1 parent f905545 commit 63e04e2

File tree

1,055 files changed

+34693
-38459
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,055 files changed

+34693
-38459
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1010
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1111
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1212
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13-
refs/heads/auto: 1bdcfd64629930c09b942025e242e51e784c447d
13+
refs/heads/auto: ce10c0114fca9d9e19a40fca184344db9273a161
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,3 @@
1111
[submodule "src/jemalloc"]
1212
path = src/jemalloc
1313
url = https://github.com/rust-lang/jemalloc.git
14-
[submodule "src/rust-installer"]
15-
path = src/rust-installer
16-
url = https://github.com/rust-lang/rust-installer

branches/auto/configure

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -988,7 +988,8 @@ do
988988
make_dir $t/rt/jemalloc
989989
for i in \
990990
isaac sync test \
991-
arch/i386 arch/x86_64 arch/arm arch/mips
991+
arch/i386 arch/x86_64 arch/arm arch/mips \
992+
sundown/src sundown/html
992993
do
993994
make_dir $t/rt/stage$s/$i
994995
done

branches/auto/mk/crates.mk

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,9 @@
5151

5252
TARGET_CRATES := libc std flate arena term \
5353
serialize getopts collections test time rand \
54-
log regex graphviz core rbml alloc \
54+
log regex graphviz core rbml alloc rustrt \
5555
unicode
56-
RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_resolve rustc_driver \
57-
rustc_trans rustc_back rustc_llvm
56+
RUSTC_CRATES := rustc rustc_typeck rustc_driver rustc_trans rustc_back rustc_llvm
5857
HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc regex_macros fmt_macros
5958
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
6059
TOOLS := compiletest rustdoc rustc
@@ -63,17 +62,16 @@ DEPS_core :=
6362
DEPS_libc := core
6463
DEPS_unicode := core
6564
DEPS_alloc := core libc native:jemalloc
66-
DEPS_std := core libc rand alloc collections unicode \
67-
native:rust_builtin native:backtrace native:rustrt_native
65+
DEPS_rustrt := alloc core libc collections native:rustrt_native
66+
DEPS_std := core libc rand alloc collections rustrt unicode \
67+
native:rust_builtin native:backtrace
6868
DEPS_graphviz := std
6969
DEPS_syntax := std term serialize log fmt_macros arena libc
70-
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \
71-
rustc_typeck rustc_resolve log syntax serialize rustc_llvm rustc_trans
70+
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back \
71+
rustc_typeck log syntax serialize rustc_llvm rustc_trans
7272
DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back \
7373
log syntax serialize rustc_llvm
7474
DEPS_rustc_typeck := rustc syntax
75-
DEPS_rustc_borrowck := rustc log graphviz syntax
76-
DEPS_rustc_resolve := rustc log syntax
7775
DEPS_rustc := syntax flate arena serialize getopts rbml \
7876
time log graphviz rustc_llvm rustc_back
7977
DEPS_rustc_llvm := native:rustllvm libc std
@@ -119,12 +117,9 @@ ONLY_RLIB_unicode := 1
119117
DOC_CRATES := $(filter-out rustc, \
120118
$(filter-out rustc_trans, \
121119
$(filter-out rustc_typeck, \
122-
$(filter-out rustc_borrowck, \
123-
$(filter-out rustc_resolve, \
124120
$(filter-out rustc_driver, \
125-
$(filter-out syntax, $(CRATES))))))))
126-
COMPILER_DOC_CRATES := rustc rustc_trans rustc_borrowck rustc_resolve \
127-
rustc_typeck rustc_driver syntax
121+
$(filter-out syntax, $(CRATES))))))
122+
COMPILER_DOC_CRATES := rustc rustc_trans rustc_typeck rustc_driver syntax
128123

129124
# This macro creates some simple definitions for each crate being built, just
130125
# some munging of all of the parameters above.

branches/auto/mk/ctags.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
.PHONY: TAGS.emacs TAGS.vi
1717

1818
# This is using a blacklist approach, probably more durable than a whitelist.
19-
# We exclude: external dependencies (llvm, rt/{msvc,vg}),
19+
# We exclude: external dependencies (llvm, rt/{msvc,sundown,vg}),
2020
# tests (compiletest, test) and a couple of other things (rt/arch, etc)
2121
CTAGS_LOCATIONS=$(patsubst ${CFG_SRC_DIR}src/llvm,, \
2222
$(patsubst ${CFG_SRC_DIR}src/compiletest,, \
@@ -25,9 +25,10 @@ CTAGS_LOCATIONS=$(patsubst ${CFG_SRC_DIR}src/llvm,, \
2525
$(patsubst ${CFG_SRC_DIR}src/rt,, \
2626
$(patsubst ${CFG_SRC_DIR}src/rt/arch,, \
2727
$(patsubst ${CFG_SRC_DIR}src/rt/msvc,, \
28+
$(patsubst ${CFG_SRC_DIR}src/rt/sundown,, \
2829
$(patsubst ${CFG_SRC_DIR}src/rt/vg,, \
2930
$(wildcard ${CFG_SRC_DIR}src/*) $(wildcard ${CFG_SRC_DIR}src/rt/*) \
30-
))))))))
31+
)))))))))
3132
CTAGS_OPTS=--options="${CFG_SRC_DIR}src/etc/ctags.rust" --languages=-javascript --recurse ${CTAGS_LOCATIONS}
3233
# We could use `--languages=Rust`, but there is value in producing tags for the
3334
# C++ parts of the code base too (at the time of writing, those are .h and .cpp

branches/auto/mk/dist.mk

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ PKG_FILES := \
4848
$(S)configure $(S)Makefile.in \
4949
$(S)man \
5050
$(addprefix $(S)src/, \
51+
README.md \
5152
compiletest \
5253
doc \
5354
driver \
@@ -58,7 +59,6 @@ PKG_FILES := \
5859
rt \
5960
rustllvm \
6061
snapshots.txt \
61-
rust-installer \
6262
test) \
6363
$(PKG_GITMODULES) \
6464
$(filter-out config.stamp, \
@@ -123,16 +123,15 @@ PKG_EXE = dist/$(PKG_NAME)-$(CFG_BUILD).exe
123123
$(PKG_EXE): rust.iss modpath.iss upgrade.iss LICENSE.txt rust-logo.ico \
124124
$(CSREQ3_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
125125
dist-prepare-win
126-
$(Q)rm -rf tmp/dist/win/gcc
127-
$(CFG_PYTHON) $(S)src/etc/make-win-dist.py tmp/dist/win/rust tmp/dist/win/gcc $(CFG_BUILD)
126+
$(CFG_PYTHON) $(S)src/etc/make-win-dist.py tmp/dist/win $(CFG_BUILD)
128127
@$(call E, ISCC: $@)
129128
$(Q)$(CFG_ISCC) $<
130129

131130
$(eval $(call DEF_PREPARE,win))
132131

133132
dist-prepare-win: PREPARE_HOST=$(CFG_BUILD)
134133
dist-prepare-win: PREPARE_TARGETS=$(CFG_BUILD)
135-
dist-prepare-win: PREPARE_DEST_DIR=tmp/dist/win/rust
134+
dist-prepare-win: PREPARE_DEST_DIR=tmp/dist/win
136135
dist-prepare-win: PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD)
137136
dist-prepare-win: PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD)
138137
dist-prepare-win: PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD)
@@ -210,40 +209,33 @@ distcheck-osx: dist-osx
210209
# Unix binary installer tarballs
211210
######################################################################
212211

213-
NON_INSTALLED_PREFIXES=COPYRIGHT,LICENSE-APACHE,LICENSE-MIT,README.md,doc
214-
215212
define DEF_INSTALLER
216213

217214
$$(eval $$(call DEF_PREPARE,dir-$(1)))
218215

219216
dist-install-dir-$(1): PREPARE_HOST=$(1)
220217
dist-install-dir-$(1): PREPARE_TARGETS=$(2)
221-
dist-install-dir-$(1): PREPARE_DEST_DIR=tmp/dist/$$(PKG_NAME)-$(1)-image
218+
dist-install-dir-$(1): PREPARE_DEST_DIR=tmp/dist/$$(PKG_NAME)-$(1)
222219
dist-install-dir-$(1): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD)
223220
dist-install-dir-$(1): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD)
224221
dist-install-dir-$(1): PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD)
225222
dist-install-dir-$(1): PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD)
226223
dist-install-dir-$(1): PREPARE_CLEAN=true
227224
dist-install-dir-$(1): prepare-base-dir-$(1) docs compiler-docs
225+
$$(Q)(cd $$(PREPARE_DEST_DIR)/ && find . -type f | sed 's/^\.\///') \
226+
> tmp/dist/manifest-$(1).in
227+
$$(Q)mv tmp/dist/manifest-$(1).in $$(PREPARE_DEST_DIR)/$$(CFG_LIBDIR_RELATIVE)/rustlib/manifest.in
228+
# Add remaining non-installed files
228229
$$(Q)$$(PREPARE_MAN_CMD) $$(S)COPYRIGHT $$(PREPARE_DEST_DIR)
229230
$$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-APACHE $$(PREPARE_DEST_DIR)
230231
$$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-MIT $$(PREPARE_DEST_DIR)
231232
$$(Q)$$(PREPARE_MAN_CMD) $$(S)README.md $$(PREPARE_DEST_DIR)
232-
$$(Q)[ ! -d doc ] || cp -r doc $$(PREPARE_DEST_DIR)
233+
$$(Q)cp -r doc $$(PREPARE_DEST_DIR)
234+
$$(Q)$$(PREPARE_BIN_CMD) $$(S)src/etc/install.sh $$(PREPARE_DEST_DIR)
233235

234236
dist/$$(PKG_NAME)-$(1).tar.gz: dist-install-dir-$(1)
235237
@$(call E, build: $$@)
236-
$$(Q)$$(S)src/rust-installer/gen-installer.sh \
237-
--product-name=Rust \
238-
--verify-bin=rustc \
239-
--rel-manifest-dir=rustlib \
240-
--success-message=Rust-is-ready-to-roll. \
241-
--image-dir=tmp/dist/$$(PKG_NAME)-$(1)-image \
242-
--work-dir=tmp/dist \
243-
--output-dir=dist \
244-
--non-installed-prefixes=$$(NON_INSTALLED_PREFIXES) \
245-
--package-name=$$(PKG_NAME)-$(1)
246-
$$(Q)rm -R tmp/dist/$$(PKG_NAME)-$(1)-image
238+
$$(Q)tar -czf dist/$$(PKG_NAME)-$(1).tar.gz -C tmp/dist $$(PKG_NAME)-$(1)
247239

248240
endef
249241

@@ -312,17 +304,9 @@ MAYBE_DIST_TAR_SRC=dist-tar-src
312304
MAYBE_DISTCHECK_TAR_SRC=distcheck-tar-src
313305
endif
314306

315-
ifneq ($(CFG_DISABLE_DOCS),)
316-
MAYBE_DIST_DOCS=
317-
MAYBE_DISTCHECK_DOCS=
318-
else
319-
MAYBE_DIST_DOCS=dist-docs
320-
MAYBE_DISTCHECK_DOCS=distcheck-docs
321-
endif
322-
323-
dist: $(MAYBE_DIST_TAR_SRC) dist-osx dist-tar-bins $(MAYBE_DIST_DOCS)
307+
dist: $(MAYBE_DIST_TAR_SRC) dist-osx dist-tar-bins dist-docs
324308

325-
distcheck: $(MAYBE_DISTCHECK_TAR_SRC) distcheck-osx distcheck-tar-bins $(MAYBE_DISTCHECK_DOCS)
309+
distcheck: $(MAYBE_DISTCHECK_TAR_SRC) distcheck-osx distcheck-tar-bins distcheck-docs
326310
$(Q)rm -Rf tmp/distcheck
327311
@echo
328312
@echo -----------------------------------------------

branches/auto/mk/install.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ endif
2525
# Remove tmp files because it's a decent amount of disk space
2626
$(Q)rm -R tmp/dist
2727

28-
prepare_install: dist/$(PKG_NAME)-$(CFG_BUILD).tar.gz | tmp/empty_dir
28+
prepare_install: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
2929

3030
uninstall:
3131
ifeq (root user, $(USER) $(patsubst %,user,$(SUDO_USER)))
@@ -38,7 +38,7 @@ endif
3838
# Remove tmp files because it's a decent amount of disk space
3939
$(Q)rm -R tmp/dist
4040

41-
prepare_uninstall: dist/$(PKG_NAME)-$(CFG_BUILD).tar.gz | tmp/empty_dir
41+
prepare_uninstall: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir
4242

4343
.PHONY: install prepare_install uninstall prepare_uninstall
4444

branches/auto/mk/rustllvm.mk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ LLVM_EXTRA_INCDIRS_$(1)= -iquote $(S)src/llvm/include \
2222
-iquote $$(CFG_LLVM_BUILD_DIR_$(1))/include
2323
endif
2424

25-
RUSTLLVM_OBJS_CS_$(1) := $$(addprefix rustllvm/, \
26-
ExecutionEngineWrapper.cpp RustWrapper.cpp PassWrapper.cpp)
25+
RUSTLLVM_OBJS_CS_$(1) := $$(addprefix rustllvm/, RustWrapper.cpp PassWrapper.cpp)
2726

2827
RUSTLLVM_DEF_$(1) := $(1)/rustllvm/rustllvm$(CFG_DEF_SUFFIX_$(1))
2928

branches/auto/mk/tests.mk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ $(eval $(call RUST_CRATE,coretest))
2121

2222
TEST_TARGET_CRATES = $(filter-out core unicode,$(TARGET_CRATES)) coretest
2323
TEST_DOC_CRATES = $(DOC_CRATES)
24-
TEST_HOST_CRATES = $(filter-out rustc_typeck rustc_borrowck rustc_resolve rustc_trans,\
25-
$(HOST_CRATES))
24+
TEST_HOST_CRATES = $(filter-out rustc_typeck rustc_trans,$(HOST_CRATES))
2625
TEST_CRATES = $(TEST_TARGET_CRATES) $(TEST_HOST_CRATES)
2726

2827
######################################################################

branches/auto/src/README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
This is a preliminary version of the Rust compiler, libraries and tools.
2+
3+
Source layout:
4+
5+
| Path | Description |
6+
| ------------------- | --------------------------------------------------------- |
7+
| `librustc/` | The self-hosted compiler |
8+
| `liballoc/` | Rust's core allocation library |
9+
| `libcore/` | The Rust core library |
10+
| `libdebug/` | Debugging utilities |
11+
| `libstd/` | The standard library (imported and linked by default) |
12+
| `libsyntax/` | The Rust parser and pretty-printer |
13+
| `libtest/` | Rust's test-runner code |
14+
| ------------------- | --------------------------------------------------------- |
15+
| `libarena/` | The arena (a fast but limited) memory allocator |
16+
| `libbacktrace/` | The libbacktrace library |
17+
| `libcollections/` | A collection of useful data structures and containers |
18+
| `libflate/` | Simple compression library |
19+
| `libfmt_macros/` | Macro support for format strings |
20+
| `libfourcc/` | Data format identifier library |
21+
| `libgetopts/` | Get command-line-options library |
22+
| `libglob/` | Unix glob patterns library |
23+
| `libgraphviz/` | Generating files for Graphviz |
24+
| `libhexfloat/` | Hexadecimal floating-point literals |
25+
| `liblibc/` | Bindings for the C standard library |
26+
| `liblog/` | Utilities for program-wide and customizable logging |
27+
| `libnum/` | Extended number support library (complex, rational, etc) |
28+
| `librand/` | Random numbers and distributions |
29+
| `libregex/` | Regular expressions |
30+
| `libregex_macros/` | The regex! syntax extension |
31+
| `libsemver/` | Rust's semantic versioning library |
32+
| `libserialize/` | Encode-Decode types library |
33+
| `libsync/` | Concurrency mechanisms and primitives |
34+
| `libterm/` | ANSI color library for terminals |
35+
| `libtime/` | Time operations library |
36+
| `liburl/` | URL handling lirary |
37+
| `libuuid/` | UUID's handling code |
38+
| ------------------- | --------------------------------------------------------- |
39+
| `rt/` | The runtime system |
40+
| `rt/rust_*.c` | - Some of the runtime services |
41+
| `rt/vg` | - Valgrind headers |
42+
| `rt/msvc` | - MSVC support |
43+
| `rt/sundown` | - The Markdown library used by rustdoc |
44+
| ------------------- | --------------------------------------------------------- |
45+
| `compiletest/` | The test runner |
46+
| `test/` | Testsuite |
47+
| `test/codegen` | - Tests for the LLVM IR infrastructure |
48+
| `test/compile-fail` | - Tests that should fail to compile |
49+
| `test/debug-info` | - Tests for the `debuginfo` tool |
50+
| `test/run-fail` | - Tests that should compile, run and fail |
51+
| `test/run-make` | - Tests that depend on a Makefile infrastructure |
52+
| `test/run-pass` | - Tests that should compile, run and succeed |
53+
| `test/bench` | - Benchmarks and miscellaneous |
54+
| `test/pretty` | - Pretty-printer tests |
55+
| `test/auxiliary` | - Dependencies of tests |
56+
| ------------------- | --------------------------------------------------------- |
57+
| `librustdoc/` | The Rust API documentation tool |
58+
| ------------------- | --------------------------------------------------------- |
59+
| `llvm/` | The LLVM submodule |
60+
| `rustllvm/` | LLVM support code |
61+
| ------------------- | --------------------------------------------------------- |
62+
| `etc/` | Scripts, editors support, misc |
63+
64+
65+
NOTE: This list (especially the second part of the table which contains modules and libraries)
66+
is highly volatile and subject to change.

branches/auto/src/compiletest/common.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ pub enum Mode {
2525
Codegen
2626
}
2727

28-
impl Copy for Mode {}
29-
3028
impl FromStr for Mode {
3129
fn from_str(s: &str) -> Option<Mode> {
3230
match s {

branches/auto/src/compiletest/compiletest.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
// except according to those terms.
1010

1111
#![crate_type = "bin"]
12-
#![feature(phase, slicing_syntax, globs, unboxed_closures)]
12+
#![feature(phase, slicing_syntax, globs)]
1313

1414
#![deny(warnings)]
1515

@@ -23,7 +23,6 @@ use std::os;
2323
use std::io;
2424
use std::io::fs;
2525
use std::str::FromStr;
26-
use std::thunk::{Thunk};
2726
use getopts::{optopt, optflag, reqopt};
2827
use common::Config;
2928
use common::{Pretty, DebugInfoGdb, DebugInfoLldb, Codegen};
@@ -370,16 +369,16 @@ pub fn make_test_closure(config: &Config, testfile: &Path) -> test::TestFn {
370369
let config = (*config).clone();
371370
// FIXME (#9639): This needs to handle non-utf8 paths
372371
let testfile = testfile.as_str().unwrap().to_string();
373-
test::DynTestFn(Thunk::new(move || {
372+
test::DynTestFn(proc() {
374373
runtest::run(config, testfile)
375-
}))
374+
})
376375
}
377376

378377
pub fn make_metrics_test_closure(config: &Config, testfile: &Path) -> test::TestFn {
379378
let config = (*config).clone();
380379
// FIXME (#9639): This needs to handle non-utf8 paths
381380
let testfile = testfile.as_str().unwrap().to_string();
382-
test::DynMetricFn(box move |: mm: &mut test::MetricMap| {
381+
test::DynMetricFn(proc(mm) {
383382
runtest::run_metrics(config, testfile, mm)
384383
})
385384
}
@@ -394,7 +393,7 @@ fn extract_gdb_version(full_version_line: Option<String>) -> Option<String> {
394393

395394
match re.captures(full_version_line) {
396395
Some(captures) => {
397-
Some(captures.at(2).unwrap_or("").to_string())
396+
Some(captures.at(2).to_string())
398397
}
399398
None => {
400399
println!("Could not extract GDB version from line '{}'",
@@ -428,7 +427,7 @@ fn extract_lldb_version(full_version_line: Option<String>) -> Option<String> {
428427

429428
match re.captures(full_version_line) {
430429
Some(captures) => {
431-
Some(captures.at(1).unwrap_or("").to_string())
430+
Some(captures.at(1).to_string())
432431
}
433432
None => {
434433
println!("Could not extract LLDB version from line '{}'",

branches/auto/src/compiletest/errors.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ fn parse_expected(last_nonfollow_error: Option<uint>,
6666
line: &str,
6767
re: &Regex) -> Option<(WhichLine, ExpectedError)> {
6868
re.captures(line).and_then(|caps| {
69-
let adjusts = caps.name("adjusts").unwrap_or("").len();
70-
let kind = caps.name("kind").unwrap_or("").to_ascii_lower();
71-
let msg = caps.name("msg").unwrap_or("").trim().to_string();
72-
let follow = caps.name("follow").unwrap_or("").len() > 0;
69+
let adjusts = caps.name("adjusts").len();
70+
let kind = caps.name("kind").to_ascii_lower();
71+
let msg = caps.name("msg").trim().to_string();
72+
let follow = caps.name("follow").len() > 0;
7373

7474
let (which, line) = if follow {
7575
assert!(adjusts == 0, "use either //~| or //~^, not both.");

0 commit comments

Comments
 (0)