Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
297546e6
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,发现更多精彩内容 >>
提交
297546e6
编写于
12月 04, 2018
作者:
E
Eduard-Mihai Burtescu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rustc: add a 'tcx parameter to Print.
上级
382d24e7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
11 deletion
+14
-11
src/librustc/ty/print.rs
src/librustc/ty/print.rs
+1
-1
src/librustc/util/ppaux.rs
src/librustc/util/ppaux.rs
+13
-10
未找到文件。
src/librustc/ty/print.rs
浏览文件 @
297546e6
...
...
@@ -57,7 +57,7 @@ pub(crate) fn prepare_late_bound_region_info<'tcx, T>(&mut self, value: &ty::Bin
}
}
pub
trait
Print
{
pub
trait
Print
<
'tcx
>
{
fn
print
<
F
:
fmt
::
Write
>
(
&
self
,
f
:
&
mut
F
,
cx
:
&
mut
PrintContext
)
->
fmt
::
Result
;
fn
print_to_string
(
&
self
,
cx
:
&
mut
PrintContext
)
->
String
{
let
mut
result
=
String
::
new
();
...
...
src/librustc/util/ppaux.rs
浏览文件 @
297546e6
...
...
@@ -212,7 +212,7 @@ impl fmt::Debug for $target {
}
macro_rules!
gen_print_impl
{
(
(
$
(
$x:tt
)
+
)
$target:ty
,
(
$self:ident
,
$f:ident
,
$cx:ident
)
$disp:block
$dbg:block
)
=>
{
impl
<
$
(
$x
)
+>
Print
for
$target
{
impl
<
$
(
$x
)
+>
Print
<
'tcx
>
for
$target
{
fn
print
<
F
:
fmt
::
Write
>
(
&
$self
,
$f
:
&
mut
F
,
$cx
:
&
mut
PrintContext
)
->
fmt
::
Result
{
if
$cx
.is_debug
$dbg
else
$disp
...
...
@@ -220,7 +220,7 @@ fn print<F: fmt::Write>(&$self, $f: &mut F, $cx: &mut PrintContext) -> fmt::Resu
}
};
(
()
$target:ty
,
(
$self:ident
,
$f:ident
,
$cx:ident
)
$disp:block
$dbg:block
)
=>
{
impl
Print
for
$target
{
impl
Print
<
'tcx
>
for
$target
{
fn
print
<
F
:
fmt
::
Write
>
(
&
$self
,
$f
:
&
mut
F
,
$cx
:
&
mut
PrintContext
)
->
fmt
::
Result
{
if
$cx
.is_debug
$dbg
else
$disp
...
...
@@ -527,12 +527,15 @@ fn parameterized<F: fmt::Write>(&mut self,
Ok
(())
}
fn
in_binder
<
'a
,
'gcx
,
'tcx
,
T
,
U
,
F
>
(
&
mut
self
,
f
:
&
mut
F
,
tcx
:
TyCtxt
<
'a
,
'gcx
,
'tcx
>
,
original
:
&
ty
::
Binder
<
T
>
,
lifted
:
Option
<
ty
::
Binder
<
U
>>
)
->
fmt
::
Result
where
T
:
Print
,
U
:
Print
+
TypeFoldable
<
'tcx
>
,
F
:
fmt
::
Write
// FIXME(eddyb) replace `'almost_tcx` with `'tcx` when possible/needed.
fn
in_binder
<
'a
,
'gcx
,
'tcx
,
'almost_tcx
,
T
,
U
,
F
>
(
&
mut
self
,
f
:
&
mut
F
,
tcx
:
TyCtxt
<
'a
,
'gcx
,
'tcx
>
,
original
:
&
ty
::
Binder
<
T
>
,
lifted
:
Option
<
ty
::
Binder
<
U
>>
,
)
->
fmt
::
Result
where
T
:
Print
<
'almost_tcx
>
,
U
:
Print
<
'tcx
>
+
TypeFoldable
<
'tcx
>
,
F
:
fmt
::
Write
{
fn
name_by_region_index
(
index
:
usize
)
->
InternedString
{
match
index
{
...
...
@@ -627,7 +630,7 @@ pub fn parameterized<F: fmt::Write>(f: &mut F,
PrintContext
::
new
()
.parameterized
(
f
,
substs
,
did
,
projections
)
}
impl
<
'a
,
T
:
Print
>
Print
for
&
'a
T
{
impl
<
'a
,
'tcx
,
T
:
Print
<
'tcx
>>
Print
<
'tcx
>
for
&
'a
T
{
fn
print
<
F
:
fmt
::
Write
>
(
&
self
,
f
:
&
mut
F
,
cx
:
&
mut
PrintContext
)
->
fmt
::
Result
{
(
*
self
)
.print
(
f
,
cx
)
}
...
...
@@ -1466,7 +1469,7 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
}
define_print!
{
(
'tcx
,
T
:
Print
+
fmt
::
Debug
,
U
:
Print
+
fmt
::
Debug
)
ty
::
OutlivesPredicate
<
T
,
U
>
,
(
'tcx
,
T
:
Print
<
'tcx
>
+
fmt
::
Debug
,
U
:
Print
<
'tcx
>
+
fmt
::
Debug
)
ty
::
OutlivesPredicate
<
T
,
U
>
,
(
self
,
f
,
cx
)
{
display
{
print!
(
f
,
cx
,
print
(
self
.0
),
write
(
" : "
),
print
(
self
.1
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录