Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
74bb5945
R
Rust
项目概览
int
/
Rust
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
74bb5945
编写于
9月 15, 2016
作者:
V
Vadim Petrochenkov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Stabilize `..` in tuple (struct) patterns
上级
0ca9967a
变更
33
隐藏空白更改
内联
并排
Showing
33 changed file
with
20 addition
and
73 deletion
+20
-73
src/doc/reference.md
src/doc/reference.md
+0
-2
src/librustc/lib.rs
src/librustc/lib.rs
+1
-1
src/librustc_borrowck/lib.rs
src/librustc_borrowck/lib.rs
+1
-1
src/librustc_const_eval/lib.rs
src/librustc_const_eval/lib.rs
+1
-1
src/librustc_driver/lib.rs
src/librustc_driver/lib.rs
+1
-1
src/librustc_incremental/lib.rs
src/librustc_incremental/lib.rs
+1
-1
src/librustc_lint/lib.rs
src/librustc_lint/lib.rs
+1
-2
src/librustc_metadata/lib.rs
src/librustc_metadata/lib.rs
+1
-1
src/librustc_mir/lib.rs
src/librustc_mir/lib.rs
+1
-1
src/librustc_passes/lib.rs
src/librustc_passes/lib.rs
+1
-1
src/librustc_privacy/lib.rs
src/librustc_privacy/lib.rs
+1
-1
src/librustc_resolve/lib.rs
src/librustc_resolve/lib.rs
+1
-1
src/librustc_save_analysis/lib.rs
src/librustc_save_analysis/lib.rs
+1
-1
src/librustc_trans/lib.rs
src/librustc_trans/lib.rs
+1
-1
src/librustc_typeck/lib.rs
src/librustc_typeck/lib.rs
+1
-1
src/librustdoc/lib.rs
src/librustdoc/lib.rs
+1
-1
src/libstd/lib.rs
src/libstd/lib.rs
+1
-1
src/libsyntax/feature_gate.rs
src/libsyntax/feature_gate.rs
+2
-15
src/libsyntax/lib.rs
src/libsyntax/lib.rs
+1
-1
src/libsyntax_ext/lib.rs
src/libsyntax_ext/lib.rs
+1
-1
src/test/compile-fail-fulldeps/auxiliary/macro_crate_test.rs
src/test/compile-fail-fulldeps/auxiliary/macro_crate_test.rs
+0
-1
src/test/compile-fail/pat-tuple-bad-type.rs
src/test/compile-fail/pat-tuple-bad-type.rs
+0
-2
src/test/compile-fail/pat-tuple-feature-gate.rs
src/test/compile-fail/pat-tuple-feature-gate.rs
+0
-17
src/test/compile-fail/pat-tuple-overfield.rs
src/test/compile-fail/pat-tuple-overfield.rs
+0
-2
src/test/run-make/save-analysis/foo.rs
src/test/run-make/save-analysis/foo.rs
+0
-1
src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs
.../run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs
+0
-1
src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs
src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs
+0
-1
src/test/run-pass/pat-tuple-1.rs
src/test/run-pass/pat-tuple-1.rs
+0
-2
src/test/run-pass/pat-tuple-2.rs
src/test/run-pass/pat-tuple-2.rs
+0
-2
src/test/run-pass/pat-tuple-3.rs
src/test/run-pass/pat-tuple-3.rs
+0
-2
src/test/run-pass/pat-tuple-4.rs
src/test/run-pass/pat-tuple-4.rs
+0
-2
src/test/run-pass/pat-tuple-5.rs
src/test/run-pass/pat-tuple-5.rs
+0
-2
src/test/run-pass/pat-tuple-6.rs
src/test/run-pass/pat-tuple-6.rs
+0
-2
未找到文件。
src/doc/reference.md
浏览文件 @
74bb5945
...
...
@@ -2479,8 +2479,6 @@ The currently implemented features of the reference compiler are:
* - `abi_vectorcall` - Allows the usage of the vectorcall calling convention
(e.g. `extern "vectorcall" func fn_();`)
* - `dotdot_in_tuple_patterns` - Allows `..` in tuple (struct) patterns.
* - `abi_sysv64` - Allows the usage of the system V AMD64 calling convention
(e.g. `extern "sysv64" func fn_();`)
...
...
src/librustc/lib.rs
浏览文件 @
74bb5945
...
...
@@ -31,7 +31,7 @@
#![feature(conservative_impl_trait)]
#![feature(const_fn)]
#![feature(core_intrinsics)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(enumset)]
#![feature(libc)]
#![feature(nonzero)]
...
...
src/librustc_borrowck/lib.rs
浏览文件 @
74bb5945
...
...
@@ -19,7 +19,7 @@
#![allow(non_camel_case_types)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
...
...
src/librustc_const_eval/lib.rs
浏览文件 @
74bb5945
...
...
@@ -22,7 +22,7 @@
html_favicon_url
=
"https://doc.rust-lang.org/favicon.ico"
,
html_root_url
=
"https://doc.rust-lang.org/nightly/"
)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(rustc_private)]
#![feature(staged_api)]
#![feature(rustc_diagnostic_macros)]
...
...
src/librustc_driver/lib.rs
浏览文件 @
74bb5945
...
...
@@ -24,7 +24,7 @@
#![cfg_attr(not(stage0),
deny(warnings))]
#![feature(box_syntax)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(libc)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]
...
...
src/librustc_incremental/lib.rs
浏览文件 @
74bb5945
...
...
@@ -19,7 +19,7 @@
html_root_url
=
"https://doc.rust-lang.org/nightly/"
)]
#![cfg_attr(not(stage0),
deny(warnings))]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![cfg_attr(stage0,
feature(question_mark))]
#![feature(rustc_private)]
#![feature(staged_api)]
...
...
src/librustc_lint/lib.rs
浏览文件 @
74bb5945
...
...
@@ -31,13 +31,12 @@
#![cfg_attr(test,
feature(test))]
#![feature(box_patterns)]
#![feature(box_syntax)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
#![feature(slice_patterns)]
#![feature(staged_api)]
#![feature(dotdot_in_tuple_patterns)]
#[macro_use]
extern
crate
syntax
;
...
...
src/librustc_metadata/lib.rs
浏览文件 @
74bb5945
...
...
@@ -20,7 +20,7 @@
#![feature(box_patterns)]
#![feature(conservative_impl_trait)]
#![feature(core_intrinsics)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(proc_macro_internals)]
#![feature(proc_macro_lib)]
#![cfg_attr(stage0,
feature(question_mark))]
...
...
src/librustc_mir/lib.rs
浏览文件 @
74bb5945
...
...
@@ -22,7 +22,7 @@
#![feature(associated_consts)]
#![feature(box_patterns)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
#![feature(staged_api)]
...
...
src/librustc_passes/lib.rs
浏览文件 @
74bb5945
...
...
@@ -23,7 +23,7 @@
html_root_url
=
"https://doc.rust-lang.org/nightly/"
)]
#![cfg_attr(not(stage0),
deny(warnings))]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(rustc_diagnostic_macros)]
#![feature(staged_api)]
#![feature(rustc_private)]
...
...
src/librustc_privacy/lib.rs
浏览文件 @
74bb5945
...
...
@@ -17,7 +17,7 @@
html_root_url
=
"https://doc.rust-lang.org/nightly/"
)]
#![cfg_attr(not(stage0),
deny(warnings))]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
#![feature(staged_api)]
...
...
src/librustc_resolve/lib.rs
浏览文件 @
74bb5945
...
...
@@ -19,7 +19,7 @@
#![feature(associated_consts)]
#![feature(borrow_state)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
#![feature(staged_api)]
...
...
src/librustc_save_analysis/lib.rs
浏览文件 @
74bb5945
...
...
@@ -18,7 +18,7 @@
#![cfg_attr(not(stage0),
deny(warnings))]
#![feature(custom_attribute)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![allow(unused_attributes)]
#![feature(rustc_private)]
#![feature(staged_api)]
...
...
src/librustc_trans/lib.rs
浏览文件 @
74bb5945
...
...
@@ -28,7 +28,7 @@
#![feature(cell_extras)]
#![feature(const_fn)]
#![feature(custom_attribute)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![allow(unused_attributes)]
#![feature(libc)]
#![feature(quote)]
...
...
src/librustc_typeck/lib.rs
浏览文件 @
74bb5945
...
...
@@ -77,7 +77,7 @@
#![feature(box_patterns)]
#![feature(box_syntax)]
#![feature(conservative_impl_trait)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]
#![feature(rustc_private)]
...
...
src/librustdoc/lib.rs
浏览文件 @
74bb5945
...
...
@@ -20,7 +20,7 @@
#![feature(box_patterns)]
#![feature(box_syntax)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(libc)]
#![feature(rustc_private)]
#![feature(set_stdio)]
...
...
src/libstd/lib.rs
浏览文件 @
74bb5945
...
...
@@ -249,7 +249,7 @@
#![feature(const_fn)]
#![feature(core_float)]
#![feature(core_intrinsics)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(dropck_parametricity)]
#![feature(float_extras)]
#![feature(float_from_str_radix)]
...
...
src/libsyntax/feature_gate.rs
浏览文件 @
74bb5945
...
...
@@ -268,9 +268,6 @@ pub fn new() -> Features {
// Allows cfg(target_has_atomic = "...").
(
active
,
cfg_target_has_atomic
,
"1.9.0"
,
Some
(
32976
)),
// Allows `..` in tuple (struct) patterns
(
active
,
dotdot_in_tuple_patterns
,
"1.10.0"
,
Some
(
33627
)),
// Allows `impl Trait` in function return types.
(
active
,
conservative_impl_trait
,
"1.12.0"
,
Some
(
34511
)),
...
...
@@ -353,6 +350,8 @@ pub fn new() -> Features {
(
accepted
,
deprecated
,
"1.9.0"
,
Some
(
29935
)),
// `expr?`
(
accepted
,
question_mark
,
"1.14.0"
,
Some
(
31436
)),
// Allows `..` in tuple (struct) patterns
(
accepted
,
dotdot_in_tuple_patterns
,
"1.14.0"
,
Some
(
33627
)),
);
// (changing above list without updating src/doc/reference.md makes @cmr sad)
...
...
@@ -1190,18 +1189,6 @@ fn visit_pat(&mut self, pattern: &ast::Pat) {
pattern
.span
,
"box pattern syntax is experimental"
);
}
PatKind
::
Tuple
(
_
,
ddpos
)
if
ddpos
.is_some
()
=>
{
gate_feature_post!
(
&
self
,
dotdot_in_tuple_patterns
,
pattern
.span
,
"`..` in tuple patterns is experimental"
);
}
PatKind
::
TupleStruct
(
_
,
ref
fields
,
ddpos
)
if
ddpos
.is_some
()
&&
!
fields
.is_empty
()
=>
{
gate_feature_post!
(
&
self
,
dotdot_in_tuple_patterns
,
pattern
.span
,
"`..` in tuple struct patterns is experimental"
);
}
PatKind
::
TupleStruct
(
_
,
ref
fields
,
ddpos
)
if
ddpos
.is_none
()
&&
fields
.is_empty
()
=>
{
gate_feature_post!
(
&
self
,
relaxed_adts
,
pattern
.span
,
...
...
src/libsyntax/lib.rs
浏览文件 @
74bb5945
...
...
@@ -34,7 +34,7 @@
#![cfg_attr(stage0,
feature(question_mark))]
#![feature(rustc_diagnostic_macros)]
#![feature(specialization)]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
extern
crate
core
;
extern
crate
serialize
;
...
...
src/libsyntax_ext/lib.rs
浏览文件 @
74bb5945
...
...
@@ -19,7 +19,7 @@
html_root_url
=
"https://doc.rust-lang.org/nightly/"
)]
#![cfg_attr(not(stage0),
deny(warnings))]
#![
feature(dotdot_in_tuple_patterns
)]
#![
cfg_attr(stage0,
feature(dotdot_in_tuple_patterns)
)]
#![feature(proc_macro_lib)]
#![feature(proc_macro_internals)]
#![feature(rustc_private)]
...
...
src/test/compile-fail-fulldeps/auxiliary/macro_crate_test.rs
浏览文件 @
74bb5945
...
...
@@ -10,7 +10,6 @@
// force-host
#![feature(dotdot_in_tuple_patterns)]
#![feature(plugin_registrar,
quote,
rustc_private)]
extern
crate
syntax
;
...
...
src/test/compile-fail/pat-tuple-bad-type.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
main
()
{
let
x
;
...
...
src/test/compile-fail/pat-tuple-feature-gate.rs
已删除
100644 → 0
浏览文件 @
0ca9967a
// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
fn
main
()
{
match
0
{
(
..
)
=>
{}
//~ ERROR `..` in tuple patterns is experimental
(
pat
,
..
)
=>
{}
//~ ERROR `..` in tuple patterns is experimental
S
(
pat
,
..
)
=>
{}
//~ ERROR `..` in tuple struct patterns is experimental
}
}
src/test/compile-fail/pat-tuple-overfield.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
struct
S
(
u8
,
u8
,
u8
);
fn
main
()
{
...
...
src/test/run-make/save-analysis/foo.rs
浏览文件 @
74bb5945
...
...
@@ -10,7 +10,6 @@
#![
crate_name
=
"test"
]
#![feature(box_syntax)]
#![feature(dotdot_in_tuple_patterns)]
#![feature(rustc_private)]
extern
crate
graphviz
;
...
...
src/test/run-pass-fulldeps/auxiliary/custom_derive_plugin_attr.rs
浏览文件 @
74bb5945
...
...
@@ -12,7 +12,6 @@
#![feature(plugin_registrar)]
#![feature(box_syntax)]
#![feature(dotdot_in_tuple_patterns)]
#![feature(rustc_private)]
extern
crate
syntax
;
...
...
src/test/run-pass-fulldeps/auxiliary/macro_crate_test.rs
浏览文件 @
74bb5945
...
...
@@ -10,7 +10,6 @@
// force-host
#![feature(dotdot_in_tuple_patterns)]
#![feature(plugin_registrar,
quote,
rustc_private)]
extern
crate
syntax
;
...
...
src/test/run-pass/pat-tuple-1.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
tuple
()
{
let
x
=
(
1
,
2
,
3
);
match
x
{
...
...
src/test/run-pass/pat-tuple-2.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
tuple
()
{
let
x
=
(
1
,);
match
x
{
...
...
src/test/run-pass/pat-tuple-3.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
tuple
()
{
let
x
=
(
1
,
2
,
3
);
let
branch
=
match
x
{
...
...
src/test/run-pass/pat-tuple-4.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
tuple
()
{
let
x
=
(
1
,
2
,
3
);
match
x
{
...
...
src/test/run-pass/pat-tuple-5.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
tuple
()
{
struct
S
;
struct
Z
;
...
...
src/test/run-pass/pat-tuple-6.rs
浏览文件 @
74bb5945
...
...
@@ -8,8 +8,6 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(dotdot_in_tuple_patterns)]
fn
tuple
()
{
let
x
=
(
1
,
2
,
3
,
4
,
5
);
match
x
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录