Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
765133ac
R
Rust
项目概览
int
/
Rust
接近 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
765133ac
编写于
11月 23, 2019
作者:
V
Vadim Petrochenkov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rustc_metadata: Privatize `CrateMetadata::dep_kind`
上级
32aa58c9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
6 deletion
+12
-6
src/librustc_metadata/creader.rs
src/librustc_metadata/creader.rs
+3
-5
src/librustc_metadata/rmeta/decoder.rs
src/librustc_metadata/rmeta/decoder.rs
+9
-1
未找到文件。
src/librustc_metadata/creader.rs
浏览文件 @
765133ac
...
...
@@ -50,7 +50,7 @@ fn dump_crates(cstore: &CStore) {
info!
(
" name: {}"
,
data
.root.name
);
info!
(
" cnum: {}"
,
cnum
);
info!
(
" hash: {}"
,
data
.root.hash
);
info!
(
" reqd: {:?}"
,
*
data
.dep_kind
.lock
());
info!
(
" reqd: {:?}"
,
data
.dep_kind
());
let
CrateSource
{
dylib
,
rlib
,
rmeta
}
=
data
.source
();
dylib
.as_ref
()
.map
(|
dl
|
info!
(
" dylib: {}"
,
dl
.0
.display
()));
rlib
.as_ref
()
.map
(|
rl
|
info!
(
" rlib: {}"
,
rl
.0
.display
()));
...
...
@@ -353,9 +353,7 @@ fn maybe_resolve_crate<'b>(
if
data
.root
.is_proc_macro_crate
()
{
dep_kind
=
DepKind
::
UnexportedMacrosOnly
;
}
data
.dep_kind
.with_lock
(|
data_dep_kind
|
{
*
data_dep_kind
=
cmp
::
max
(
*
data_dep_kind
,
dep_kind
);
});
data
.update_dep_kind
(|
data_dep_kind
|
cmp
::
max
(
data_dep_kind
,
dep_kind
));
Ok
(
cnum
)
}
(
LoadResult
::
Loaded
(
library
),
host_library
)
=>
{
...
...
@@ -503,7 +501,7 @@ fn inject_panic_runtime(&mut self, krate: &ast::Crate) {
// #![panic_runtime] crate.
self
.inject_dependency_if
(
cnum
,
"a panic runtime"
,
&
|
data
|
data
.root.needs_panic_runtime
);
runtime_found
=
runtime_found
||
*
data
.dep_kind
.lock
()
==
DepKind
::
Explicit
;
runtime_found
=
runtime_found
||
data
.dep_kind
()
==
DepKind
::
Explicit
;
}
});
...
...
src/librustc_metadata/rmeta/decoder.rs
浏览文件 @
765133ac
...
...
@@ -99,7 +99,7 @@
/// Same ID set as `cnum_map` plus maybe some injected crates like panic runtime.
dependencies
:
Lock
<
Vec
<
CrateNum
>>
,
/// How to link (or not link) this crate to the currently compiled crate.
crate
dep_kind
:
Lock
<
DepKind
>
,
dep_kind
:
Lock
<
DepKind
>
,
/// Filesystem location of this crate.
source
:
CrateSource
,
/// Whether or not this crate should be consider a private dependency
...
...
@@ -1538,6 +1538,14 @@ fn get_crate_dep_node_index(&self, tcx: TyCtxt<'tcx>) -> DepNodeIndex {
crate
fn
source
(
&
self
)
->
&
CrateSource
{
&
self
.source
}
crate
fn
dep_kind
(
&
self
)
->
DepKind
{
*
self
.dep_kind
.lock
()
}
crate
fn
update_dep_kind
(
&
self
,
f
:
impl
FnOnce
(
DepKind
)
->
DepKind
)
{
self
.dep_kind
.with_lock
(|
dep_kind
|
*
dep_kind
=
f
(
*
dep_kind
))
}
}
// Cannot be implemented on 'ProcMacro', as libproc_macro
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录