Merge commit '8e38833c3674c1be7d81c6069c62e6ed52b18b27' into HEAD
This commit is contained in:
commit
2566e06da1
16
.github/workflows/release.yaml
vendored
16
.github/workflows/release.yaml
vendored
@ -18,6 +18,7 @@ env:
|
||||
FETCH_DEPTH: 0 # pull in the tags for the version string
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.15
|
||||
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
||||
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc
|
||||
|
||||
jobs:
|
||||
dist:
|
||||
@ -36,6 +37,9 @@ jobs:
|
||||
- os: ubuntu-18.04
|
||||
target: aarch64-unknown-linux-gnu
|
||||
code-target: linux-arm64
|
||||
- os: ubuntu-18.04
|
||||
target: arm-unknown-linux-gnueabihf
|
||||
code-target: linux-armhf
|
||||
- os: macos-11
|
||||
target: x86_64-apple-darwin
|
||||
code-target: darwin-x64
|
||||
@ -67,13 +71,17 @@ jobs:
|
||||
node-version: 14.x
|
||||
|
||||
- name: Update apt repositories
|
||||
if: matrix.target == 'aarch64-unknown-linux-gnu'
|
||||
if: matrix.target == 'aarch64-unknown-linux-gnu' || matrix.target == 'arm-unknown-linux-gnueabihf'
|
||||
run: sudo apt-get update
|
||||
|
||||
- name: Install target toolchain
|
||||
- name: Install AArch64 target toolchain
|
||||
if: matrix.target == 'aarch64-unknown-linux-gnu'
|
||||
run: sudo apt-get install gcc-aarch64-linux-gnu
|
||||
|
||||
- name: Install ARM target toolchain
|
||||
if: matrix.target == 'arm-unknown-linux-gnueabihf'
|
||||
run: sudo apt-get install gcc-arm-linux-gnueabihf
|
||||
|
||||
- name: Dist
|
||||
run: cargo xtask dist --client-patch-version ${{ github.run_number }}
|
||||
|
||||
@ -204,6 +212,10 @@ jobs:
|
||||
with:
|
||||
name: dist-aarch64-unknown-linux-gnu
|
||||
path: dist
|
||||
- uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: dist-arm-unknown-linux-gnueabihf
|
||||
path: dist
|
||||
- uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: dist-x86_64-pc-windows-msvc
|
||||
|
@ -167,7 +167,11 @@ fn collect_import_map(db: &dyn DefDatabase, krate: CrateId) -> ImportMap {
|
||||
|
||||
let visible_items = mod_data.scope.entries().filter_map(|(name, per_ns)| {
|
||||
let per_ns = per_ns.filter_visibility(|vis| vis == Visibility::Public);
|
||||
if per_ns.is_none() { None } else { Some((name, per_ns)) }
|
||||
if per_ns.is_none() {
|
||||
None
|
||||
} else {
|
||||
Some((name, per_ns))
|
||||
}
|
||||
});
|
||||
|
||||
for (name, per_ns) in visible_items {
|
||||
|
@ -349,7 +349,11 @@ pub fn module_id(&self, local_id: LocalModuleId) -> ModuleId {
|
||||
|
||||
pub(crate) fn crate_root(&self, db: &dyn DefDatabase) -> ModuleId {
|
||||
self.with_ancestor_maps(db, self.root, &mut |def_map, _module| {
|
||||
if def_map.block.is_none() { Some(def_map.module_id(def_map.root)) } else { None }
|
||||
if def_map.block.is_none() {
|
||||
Some(def_map.module_id(def_map.root))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.expect("DefMap chain without root")
|
||||
}
|
||||
|
@ -373,11 +373,13 @@ pub(crate) fn runnable_impl(
|
||||
let adt_name = ty.as_adt()?.name(sema.db);
|
||||
let mut ty_args = ty.type_arguments().peekable();
|
||||
let params = if ty_args.peek().is_some() {
|
||||
format!("<{}>", ty_args.format_with(", ", |ty, cb| cb(&ty.display(sema.db))))
|
||||
format!("<{}>", ty_args.format_with(",", |ty, cb| cb(&ty.display(sema.db))))
|
||||
} else {
|
||||
String::new()
|
||||
};
|
||||
let test_id = TestId::Path(format!("{}{}", adt_name, params));
|
||||
let mut test_id = format!("{}{}", adt_name, params);
|
||||
test_id.retain(|c| c != ' ');
|
||||
let test_id = TestId::Path(test_id);
|
||||
|
||||
Some(Runnable { use_name_in_title: false, nav, kind: RunnableKind::DocTest { test_id }, cfg })
|
||||
}
|
||||
@ -441,10 +443,11 @@ fn module_def_doctest(db: &RootDatabase, def: Definition) -> Option<Runnable> {
|
||||
format_to!(
|
||||
path,
|
||||
"<{}>",
|
||||
ty_args.format_with(", ", |ty, cb| cb(&ty.display(db)))
|
||||
ty_args.format_with(",", |ty, cb| cb(&ty.display(db)))
|
||||
);
|
||||
}
|
||||
format_to!(path, "::{}", def_name);
|
||||
path.retain(|c| c != ' ');
|
||||
return Some(path);
|
||||
}
|
||||
}
|
||||
@ -2067,13 +2070,23 @@ fn doc_test_type_params() {
|
||||
$0
|
||||
struct Foo<T, U>;
|
||||
|
||||
/// ```
|
||||
/// ```
|
||||
impl<T, U> Foo<T, U> {
|
||||
/// ```rust
|
||||
/// ````
|
||||
fn t() {}
|
||||
}
|
||||
|
||||
/// ```
|
||||
/// ```
|
||||
impl Foo<Foo<(), ()>, ()> {
|
||||
/// ```
|
||||
/// ```
|
||||
fn t() {}
|
||||
}
|
||||
"#,
|
||||
&[DocTest],
|
||||
&[DocTest, DocTest, DocTest, DocTest],
|
||||
expect![[r#"
|
||||
[
|
||||
Runnable {
|
||||
@ -2082,12 +2095,64 @@ fn t() {}
|
||||
file_id: FileId(
|
||||
0,
|
||||
),
|
||||
full_range: 47..85,
|
||||
full_range: 20..103,
|
||||
focus_range: 47..56,
|
||||
name: "impl",
|
||||
kind: Impl,
|
||||
},
|
||||
kind: DocTest {
|
||||
test_id: Path(
|
||||
"Foo<T,U>",
|
||||
),
|
||||
},
|
||||
cfg: None,
|
||||
},
|
||||
Runnable {
|
||||
use_name_in_title: false,
|
||||
nav: NavigationTarget {
|
||||
file_id: FileId(
|
||||
0,
|
||||
),
|
||||
full_range: 63..101,
|
||||
name: "t",
|
||||
},
|
||||
kind: DocTest {
|
||||
test_id: Path(
|
||||
"Foo<T, U>::t",
|
||||
"Foo<T,U>::t",
|
||||
),
|
||||
},
|
||||
cfg: None,
|
||||
},
|
||||
Runnable {
|
||||
use_name_in_title: false,
|
||||
nav: NavigationTarget {
|
||||
file_id: FileId(
|
||||
0,
|
||||
),
|
||||
full_range: 105..188,
|
||||
focus_range: 126..146,
|
||||
name: "impl",
|
||||
kind: Impl,
|
||||
},
|
||||
kind: DocTest {
|
||||
test_id: Path(
|
||||
"Foo<Foo<(),()>,()>",
|
||||
),
|
||||
},
|
||||
cfg: None,
|
||||
},
|
||||
Runnable {
|
||||
use_name_in_title: false,
|
||||
nav: NavigationTarget {
|
||||
file_id: FileId(
|
||||
0,
|
||||
),
|
||||
full_range: 153..186,
|
||||
name: "t",
|
||||
},
|
||||
kind: DocTest {
|
||||
test_id: Path(
|
||||
"Foo<Foo<(),()>,()>::t",
|
||||
),
|
||||
},
|
||||
cfg: None,
|
||||
|
Loading…
Reference in New Issue
Block a user