Skip to content

Commit 88ea422

Browse files
committed
---
yaml --- r: 95484 b: refs/heads/dist-snap c: 6a11e17 h: refs/heads/master v: v3
1 parent 3b47a9a commit 88ea422

File tree

14 files changed

+40
-75
lines changed

14 files changed

+40
-75
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: d0529122975919ca4d85c14116617f75cb7a6e6f
9+
refs/heads/dist-snap: 6a11e17b6bf64f1676a69d45edd336c8697a931b
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/doc/rust.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1589,7 +1589,7 @@ explain, here's a few use cases and what they would entail.
15891589
* A crate needs a global available "helper module" to itself, but it doesn't
15901590
want to expose the helper module as a public API. To accomplish this, the root
15911591
of the crate's hierarchy would have a private module which then internally has
1592-
a "public api". Because the entire crate is a descendant of the root, then the
1592+
a "public api". Because the entire crate is an ancestor of the root, then the
15931593
entire local crate can access this private module through the second case.
15941594

15951595
* When writing unit tests for a module, it's often a common idiom to have an
@@ -1602,10 +1602,7 @@ In the second case, it mentions that a private item "can be accessed" by the
16021602
current module and its descendants, but the exact meaning of accessing an item
16031603
depends on what the item is. Accessing a module, for example, would mean looking
16041604
inside of it (to import more items). On the other hand, accessing a function
1605-
would mean that it is invoked. Additionally, path expressions and import
1606-
statements are considered to access an item in the sense that the
1607-
import/expression is only valid if the destination is in the current visibility
1608-
scope.
1605+
would mean that it is invoked.
16091606

16101607
Here's an example of a program which exemplifies the three cases outlined above.
16111608

branches/dist-snap/src/etc/vim/syntax/rust.vim

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
" Maintainer: Patrick Walton <[email protected]>
44
" Maintainer: Ben Blum <[email protected]>
55
" Maintainer: Chris Morgan <[email protected]>
6-
" Last Change: 2013 Oct 19
6+
" Last Change: 2013 Sep 4
77

88
if version < 600
99
syntax clear
@@ -61,7 +61,6 @@ syn keyword rustEnumVariant Ok Err
6161
" Functions {{{3
6262
"syn keyword rustFunction print println
6363
"syn keyword rustFunction range
64-
"syn keyword rustFunction from_str
6564

6665
" Types and traits {{{3
6766
syn keyword rustTrait ToCStr
@@ -80,23 +79,22 @@ syn keyword rustTrait Orderable Signed Unsigned Round
8079
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
8180
syn keyword rustTrait Integer Fractional Real RealExt
8281
syn keyword rustTrait Bitwise BitCount Bounded
83-
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive
82+
syn keyword rustTrait Primitive Int Float ToStrRadix
8483
syn keyword rustTrait GenericPath
8584
syn keyword rustTrait Path
8685
syn keyword rustTrait PosixPath
8786
syn keyword rustTrait WindowsPath
8887
syn keyword rustTrait RawPtr
8988
syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr ToBytesConsume
90-
syn keyword rustTrait SendStr SendStrOwned SendStrStatic IntoSendStr
9189
syn keyword rustTrait Str StrVector StrSlice OwnedStr
9290
syn keyword rustTrait FromStr
9391
syn keyword rustTrait IterBytes
9492
syn keyword rustTrait ToStr ToStrConsume
9593
syn keyword rustTrait CopyableTuple ImmutableTuple
96-
syn keyword rustTrait Tuple1 ImmutableTuple1
97-
syn keyword rustTrait Tuple2 Tuple3 Tuple4 Tuple5
98-
syn keyword rustTrait Tuple6 Tuple7 Tuple8 Tuple9
99-
syn keyword rustTrait Tuple10 Tuple11 Tuple12
94+
syn keyword rustTrait CloneableTuple1 ImmutableTuple1
95+
syn keyword rustTrait CloneableTuple2 CloneableTuple3 CloneableTuple4 CloneableTuple5
96+
syn keyword rustTrait CloneableTuple6 CloneableTuple7 CloneableTuple8 CloneableTuple9
97+
syn keyword rustTrait CloneableTuple10 CloneableTuple11 CloneableTuple12
10098
syn keyword rustTrait ImmutableTuple2 ImmutableTuple3 ImmutableTuple4 ImmutableTuple5
10199
syn keyword rustTrait ImmutableTuple6 ImmutableTuple7 ImmutableTuple8 ImmutableTuple9
102100
syn keyword rustTrait ImmutableTuple10 ImmutableTuple11 ImmutableTuple12
@@ -147,7 +145,7 @@ syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustFail
147145

148146
syn match rustFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn?]\|\[\^\=.[^]]*\]\)" contained
149147
syn match rustFormat display "%%" contained
150-
syn match rustSpecial display contained /\\\([nrt0\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)/
148+
syn match rustSpecial display contained /\\\([nrt\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)/
151149
syn match rustStringContinuation display contained /\\\n\s*/
152150
syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustTodo,rustFormat,rustSpecial,rustStringContinuation
153151
syn region rustString start='r\z(#*\)"' end='"\z1'
@@ -176,13 +174,13 @@ syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9
176174
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>"
177175

178176
" For the benefit of delimitMate
179-
syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt0\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime
177+
syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime
180178
syn region rustGenericRegion display start=/<\%('\|[^[cntrl:][:space:][:punct:]]\)\@=')\S\@=/ end=/>/ contains=rustGenericLifetimeCandidate
181179
syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime
182180

183181
"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting
184182
syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*"
185-
syn match rustCharacter /'\([^'\\]\|\\\([nrt0\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial
183+
syn match rustCharacter /'\([^'\\]\|\\\([nrt\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial
186184

187185
syn region rustCommentML start="/\*" end="\*/" contains=rustTodo
188186
syn region rustComment start="//" end="$" contains=rustTodo keepend

branches/dist-snap/src/librustc/middle/const_eval.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,6 @@ pub enum const_val {
297297
const_int(i64),
298298
const_uint(u64),
299299
const_str(@str),
300-
const_binary(@[u8]),
301300
const_bool(bool)
302301
}
303302

@@ -477,7 +476,6 @@ pub fn eval_const_expr_partial<T: ty::ExprTyProvider>(tcx: &T, e: &Expr)
477476
pub fn lit_to_const(lit: &lit) -> const_val {
478477
match lit.node {
479478
lit_str(s, _) => const_str(s),
480-
lit_binary(data) => const_binary(data),
481479
lit_char(n) => const_uint(n as u64),
482480
lit_int(n, _) => const_int(n),
483481
lit_uint(n, _) => const_uint(n),

branches/dist-snap/src/librustc/middle/trans/common.rs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -917,24 +917,6 @@ pub fn C_estr_slice(cx: &mut CrateContext, s: @str) -> ValueRef {
917917
}
918918
}
919919

920-
pub fn C_binary_slice(cx: &mut CrateContext, data: &[u8]) -> ValueRef {
921-
unsafe {
922-
let len = data.len();
923-
let lldata = C_bytes(data);
924-
925-
let gsym = token::gensym("binary");
926-
let g = do format!("binary{}", gsym).with_c_str |buf| {
927-
llvm::LLVMAddGlobal(cx.llmod, val_ty(lldata).to_ref(), buf)
928-
};
929-
llvm::LLVMSetInitializer(g, lldata);
930-
llvm::LLVMSetGlobalConstant(g, True);
931-
lib::llvm::SetLinkage(g, lib::llvm::InternalLinkage);
932-
933-
let cs = llvm::LLVMConstPointerCast(g, Type::i8p().to_ref());
934-
C_struct([cs, C_uint(cx, len)], false)
935-
}
936-
}
937-
938920
pub fn C_zero_byte_arr(size: uint) -> ValueRef {
939921
unsafe {
940922
let mut i = 0u;

branches/dist-snap/src/librustc/middle/trans/consts.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ pub fn const_lit(cx: &mut CrateContext, e: &ast::Expr, lit: ast::lit)
7171
}
7272
ast::lit_bool(b) => C_bool(b),
7373
ast::lit_nil => C_nil(),
74-
ast::lit_str(s, _) => C_estr_slice(cx, s),
75-
ast::lit_binary(data) => C_binary_slice(cx, data),
74+
ast::lit_str(s, _) => C_estr_slice(cx, s)
7675
}
7776
}
7877

branches/dist-snap/src/librustc/middle/ty.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4442,12 +4442,6 @@ pub fn eval_repeat_count<T: ExprTyProvider>(tcx: &T, count_expr: &ast::Expr) ->
44424442
repeat count but found boolean");
44434443
return 0;
44444444
}
4445-
const_eval::const_binary(_) => {
4446-
tcx.ty_ctxt().sess.span_err(count_expr.span,
4447-
"expected positive integer for \
4448-
repeat count but found binary array");
4449-
return 0;
4450-
}
44514445
},
44524446
Err(*) => {
44534447
tcx.ty_ctxt().sess.span_err(count_expr.span,

branches/dist-snap/src/librustc/middle/typeck/check/mod.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,10 +1020,6 @@ pub fn check_lit(fcx: @mut FnCtxt, lit: @ast::lit) -> ty::t {
10201020

10211021
match lit.node {
10221022
ast::lit_str(*) => ty::mk_estr(tcx, ty::vstore_slice(ty::re_static)),
1023-
ast::lit_binary(*) => {
1024-
ty::mk_evec(tcx, ty::mt{ ty: ty::mk_u8(), mutbl: ast::MutImmutable },
1025-
ty::vstore_slice(ty::re_static))
1026-
}
10271023
ast::lit_char(_) => ty::mk_char(),
10281024
ast::lit_int(_, t) => ty::mk_mach_int(t),
10291025
ast::lit_uint(_, t) => ty::mk_mach_uint(t),

branches/dist-snap/src/librustdoc/clean.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,6 @@ impl ToSource for syntax::codemap::Span {
11211121
fn lit_to_str(lit: &ast::lit) -> ~str {
11221122
match lit.node {
11231123
ast::lit_str(st, _) => st.to_owned(),
1124-
ast::lit_binary(data) => format!("{:?}", data.as_slice()),
11251124
ast::lit_char(c) => ~"'" + std::char::from_u32(c).unwrap().to_str() + "'",
11261125
ast::lit_int(i, _t) => i.to_str(),
11271126
ast::lit_uint(u, _t) => u.to_str(),

branches/dist-snap/src/libstd/managed.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub static RC_IMMORTAL : uint = 0x77777777;
2121
#[inline]
2222
pub fn refcount<T>(t: @T) -> uint {
2323
use unstable::raw::Repr;
24-
unsafe { (*t.repr()).ref_count }
24+
unsafe { (*t.repr()).ref_count - 1 }
2525
}
2626

2727
/// Determine if two shared boxes point to the same object
@@ -110,3 +110,14 @@ fn test() {
110110
assert!((!ptr_eq::<int>(x, y)));
111111
assert!((!ptr_eq::<int>(y, x)));
112112
}
113+
114+
#[test]
115+
fn refcount_test() {
116+
use clone::Clone;
117+
118+
let x = @3;
119+
assert_eq!(refcount(x), 1);
120+
let y = x.clone();
121+
assert_eq!(refcount(x), 2);
122+
assert_eq!(refcount(y), 2);
123+
}

branches/dist-snap/src/libsyntax/ast.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,6 @@ pub type lit = Spanned<lit_>;
691691
#[deriving(Clone, Eq, Encodable, Decodable, IterBytes)]
692692
pub enum lit_ {
693693
lit_str(@str, StrStyle),
694-
lit_binary(@[u8]),
695694
lit_char(u32),
696695
lit_int(i64, int_ty),
697696
lit_uint(u64, uint_ty),

branches/dist-snap/src/libsyntax/ext/source_util.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -101,19 +101,16 @@ pub fn expand_include_str(cx: @ExtCtxt, sp: Span, tts: &[ast::token_tree])
101101
}
102102

103103
pub fn expand_include_bin(cx: @ExtCtxt, sp: Span, tts: &[ast::token_tree])
104-
-> base::MacResult
105-
{
106-
use std::at_vec;
107-
104+
-> base::MacResult {
108105
let file = get_single_str_from_tts(cx, sp, tts, "include_bin!");
109106
match io::read_whole_file(&res_rel_file(cx, sp, &Path::new(file))) {
110-
result::Ok(src) => {
111-
let v = at_vec::to_managed_move(src);
112-
base::MRExpr(cx.expr_lit(sp, ast::lit_binary(v)))
113-
}
114-
result::Err(ref e) => {
115-
cx.parse_sess().span_diagnostic.handler().fatal((*e))
116-
}
107+
result::Ok(src) => {
108+
let u8_exprs: ~[@ast::Expr] = src.iter().map(|char| cx.expr_u8(sp, *char)).collect();
109+
base::MRExpr(cx.expr_vec(sp, u8_exprs))
110+
}
111+
result::Err(ref e) => {
112+
cx.parse_sess().span_diagnostic.handler().fatal((*e))
113+
}
117114
}
118115
}
119116

branches/dist-snap/src/libsyntax/print/pprust.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,14 +2092,6 @@ pub fn print_literal(s: @ps, lit: &ast::lit) {
20922092
ast::lit_bool(val) => {
20932093
if val { word(s.s, "true"); } else { word(s.s, "false"); }
20942094
}
2095-
ast::lit_binary(arr) => {
2096-
ibox(s, indent_unit);
2097-
word(s.s, "[");
2098-
commasep_cmnt(s, inconsistent, arr, |s, u| word(s.s, format!("{}", *u)),
2099-
|_| lit.span);
2100-
word(s.s, "]");
2101-
end(s);
2102-
}
21032095
}
21042096
}
21052097

branches/dist-snap/src/test/bench/shootout-k-nucleotide-pipes.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,17 @@ fn make_sequence_processor(sz: uint,
156156
157157
// given a FASTA file on stdin, process sequence THREE
158158
fn main() {
159-
use std::rt::io::Reader;
159+
use std::rt::io::{Reader, Open};
160+
use std::rt::io::file::FileInfo;
160161
use std::rt::io::native::stdio;
161-
use std::rt::io::mem::MemReader;
162162
use std::rt::io::buffered::BufferedReader;
163163
164164
let rdr = if os::getenv("RUST_BENCH").is_some() {
165-
let foo = include_bin!("shootout-k-nucleotide.data");
166-
~MemReader::new(foo.to_owned()) as ~Reader
165+
// FIXME: Using this compile-time env variable is a crummy way to
166+
// get to this massive data set, but include_bin! chokes on it (#2598)
167+
let mut path = Path::new(env!("CFG_SRC_DIR"));
168+
path.push("src/test/bench/shootout-k-nucleotide.data");
169+
~path.open_reader(Open).unwrap() as ~Reader
167170
} else {
168171
~stdio::stdin() as ~Reader
169172
};

0 commit comments

Comments
 (0)