Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
46973c9c
R
Rust
项目概览
int
/
Rust
12 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
46973c9c
编写于
6月 19, 2023
作者:
L
lcnr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add FIXME's for a later refactoring
上级
0589cd0f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
7 addition
and
3 deletion
+7
-3
compiler/rustc_codegen_ssa/src/mir/locals.rs
compiler/rustc_codegen_ssa/src/mir/locals.rs
+1
-0
compiler/rustc_mir_transform/src/dest_prop.rs
compiler/rustc_mir_transform/src/dest_prop.rs
+5
-3
compiler/rustc_mir_transform/src/ssa.rs
compiler/rustc_mir_transform/src/ssa.rs
+1
-0
未找到文件。
compiler/rustc_codegen_ssa/src/mir/locals.rs
浏览文件 @
46973c9c
...
...
@@ -61,6 +61,7 @@ pub(super) fn overwrite_local(
LocalRef
::
Operand
(
ref
mut
op
)
=>
{
let
local_ty
=
self
.monomorphize
(
self
.mir.local_decls
[
local
]
.ty
);
if
local_ty
!=
op
.layout.ty
{
// FIXME(#112651): This can be changed to an ICE afterwards.
debug!
(
"updating type of operand due to subtyping"
);
with_no_trimmed_paths!
(
debug!
(
?
op
.layout.ty
));
with_no_trimmed_paths!
(
debug!
(
?
local_ty
));
...
...
compiler/rustc_mir_transform/src/dest_prop.rs
浏览文件 @
46973c9c
...
...
@@ -768,16 +768,18 @@ fn visit_statement(&mut self, statement: &Statement<'tcx>, _: Location) {
return
;
};
// As described at the top of the file, we do not go near things that have
their address
// taken.
// As described at the top of the file, we do not go near things that have
// t
heir address t
aken.
if
self
.borrowed
.contains
(
src
)
||
self
.borrowed
.contains
(
dest
)
{
return
;
}
// As described at the top of this file, we do not touch locals which have different types.
// As described at the top of this file, we do not touch locals which have
// different types.
let
src_ty
=
self
.body
.local_decls
()[
src
]
.ty
;
let
dest_ty
=
self
.body
.local_decls
()[
dest
]
.ty
;
if
src_ty
!=
dest_ty
{
// FIXME(#112651): This can be removed afterwards. Also update the module description.
trace!
(
"skipped `{src:?} = {dest:?}` due to subtyping: {src_ty} != {dest_ty}"
);
return
;
}
...
...
compiler/rustc_mir_transform/src/ssa.rs
浏览文件 @
46973c9c
...
...
@@ -274,6 +274,7 @@ fn compute_copy_classes(ssa: &mut SsaLocals, body: &Body<'_>) {
let
local_ty
=
body
.local_decls
()[
local
]
.ty
;
let
rhs_ty
=
body
.local_decls
()[
rhs
]
.ty
;
if
local_ty
!=
rhs_ty
{
// FIXME(#112651): This can be removed afterwards.
trace!
(
"skipped `{local:?} = {rhs:?}` due to subtyping: {local_ty} != {rhs_ty}"
);
continue
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录