Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
3975af56
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,发现更多精彩内容 >>
提交
3975af56
编写于
1月 10, 2015
作者:
B
bors
浏览文件
操作
浏览文件
下载
差异文件
auto merge of #20837 : huonw/rust/remove-unused-lifetime, r=nikomatsakis
上级
d36dc159
719c5d7b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
6 deletion
+34
-6
src/libcore/fmt/mod.rs
src/libcore/fmt/mod.rs
+23
-0
src/libcore/fmt/rt.rs
src/libcore/fmt/rt.rs
+9
-0
src/libsyntax/ext/format.rs
src/libsyntax/ext/format.rs
+2
-6
未找到文件。
src/libcore/fmt/mod.rs
浏览文件 @
3975af56
...
...
@@ -180,6 +180,7 @@ pub fn new(pieces: &'a [&'a str],
/// unsafety, but will ignore invalid .
#[doc(hidden)]
#[inline]
#[unstable
=
"implementation detail of the `format_args!` macro"
]
#[cfg(stage0)]
// SNAP 9e4e524
pub
fn
with_placeholders
(
pieces
:
&
'a
[
&
'a
str
],
fmt
:
&
'a
[
rt
::
Argument
<
'a
>
],
args
:
&
'a
[
Argument
<
'a
>
])
->
Arguments
<
'a
>
{
...
...
@@ -189,6 +190,24 @@ pub fn with_placeholders(pieces: &'a [&'a str],
args
:
args
}
}
/// This function is used to specify nonstandard formatting parameters.
/// The `pieces` array must be at least as long as `fmt` to construct
/// a valid Arguments structure. Also, any `Count` within `fmt` that is
/// `CountIsParam` or `CountIsNextParam` has to point to an argument
/// created with `argumentuint`. However, failing to do so doesn't cause
/// unsafety, but will ignore invalid .
#[doc(hidden)]
#[inline]
#[unstable
=
"implementation detail of the `format_args!` macro"
]
#[cfg(not(stage0))]
pub
fn
with_placeholders
(
pieces
:
&
'a
[
&
'a
str
],
fmt
:
&
'a
[
rt
::
Argument
],
args
:
&
'a
[
Argument
<
'a
>
])
->
Arguments
<
'a
>
{
Arguments
{
pieces
:
pieces
,
fmt
:
Some
(
fmt
),
args
:
args
}
}
}
/// This structure represents a safely precompiled version of a format string
...
...
@@ -207,7 +226,11 @@ pub struct Arguments<'a> {
pieces
:
&
'a
[
&
'a
str
],
// Placeholder specs, or `None` if all specs are default (as in "{}{}").
// SNAP 9e4e524
#[cfg(stage0)]
fmt
:
Option
<&
'a
[
rt
::
Argument
<
'a
>
]
>
,
#[cfg(not(stage0))]
fmt
:
Option
<&
'a
[
rt
::
Argument
]
>
,
// Dynamic arguments for interpolation, to be interleaved with string
// pieces. (Every argument is preceded by a string piece.)
...
...
src/libcore/fmt/rt.rs
浏览文件 @
3975af56
...
...
@@ -21,8 +21,17 @@
pub
use
self
::
Position
::
*
;
pub
use
self
::
Flag
::
*
;
// SNAP 9e4e524
#[doc(hidden)]
#[derive(Copy)]
#[cfg(not(stage0))]
pub
struct
Argument
{
pub
position
:
Position
,
pub
format
:
FormatSpec
,
}
#[doc(hidden)]
#[derive(Copy)]
#[cfg(stage0)]
pub
struct
Argument
<
'a
>
{
pub
position
:
Position
,
pub
format
:
FormatSpec
,
...
...
src/libsyntax/ext/format.rs
浏览文件 @
3975af56
...
...
@@ -579,13 +579,9 @@ fn into_expr(mut self) -> P<ast::Expr> {
}
else
{
// Build up the static array which will store our precompiled
// nonstandard placeholders, if there are any.
let
piece_ty
=
self
.ecx
.ty_path
(
self
.ecx
.path_
al
l
(
let
piece_ty
=
self
.ecx
.ty_path
(
self
.ecx
.path_
globa
l
(
self
.fmtsp
,
true
,
Context
::
rtpath
(
self
.ecx
,
"Argument"
),
vec!
[
static_lifetime
],
vec!
[],
vec!
[]
));
Context
::
rtpath
(
self
.ecx
,
"Argument"
)));
let
fmt
=
Context
::
static_array
(
self
.ecx
,
"__STATIC_FMTARGS"
,
piece_ty
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录