Skip to content

Commit cf79766

Browse files
committed
---
yaml --- r: 64283 b: refs/heads/snap-stage3 c: d582eeb h: refs/heads/master i: 64281: 8482b0d 64279: c5e4c09 v: v3
1 parent b1e24cb commit cf79766

File tree

12 files changed

+40
-86
lines changed

12 files changed

+40
-86
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 2d28d645422c1617be58c8ca7ad9a457264ca850
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 36f20423c31601c7b2e4f94368e79f44146cb064
4+
refs/heads/snap-stage3: d582eeb1ec8e77234a26475bd70bf12a933b4efa
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/src/etc/vim/ftplugin/rust.vim

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,11 @@ if exists("g:ftplugin_rust_source_path")
3333
let &l:path=g:ftplugin_rust_source_path . ',' . &l:path
3434
endif
3535

36-
let b:undo_ftplugin = "setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd<"
36+
if exists("g:loaded_delimitMate")
37+
if exists("b:delimitMate_excluded_regions")
38+
let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions
39+
endif
40+
let b:delimitMate_excluded_regions = delimitMate#Get("excluded_regions") . ',rustLifetimeCandidate,rustGenericLifetimeCandidate'
41+
endif
42+
43+
let b:undo_ftplugin = "setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd< | if exists('b:rust_original_delimitMate_excluded_regions') | let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions | unlet b:rust_original_delimitMate_excluded_regions | elseif exists('b:delimitMate_excluded_regions') | unlet b:delimitMate_excluded_regions | endif"

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,11 @@ syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\(f\|f32\|f64\)\>
113113
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\>"
114114
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>"
115115

116+
" For the benefit of delimitMate
117+
syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustLifetime
118+
syn region rustGenericRegion display start=/<\%('\|[^[cntrl:][:space:][:punct:]]\)\@=')\S\@=/ end=/>/ contains=rustGenericLifetimeCandidate
119+
syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustLifetime
120+
116121
"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting
117122
syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*"
118123
syn match rustCharacter "'\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'"

branches/snap-stage3/src/librustc/middle/lint.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,7 @@ fn check_item_ctypes(cx: &Context, it: &ast::item) {
745745
_ => ()
746746
}
747747
}
748+
ast::ty_ptr(ref mt) => { check_ty(cx, mt.ty) }
748749
_ => ()
749750
}
750751
}

branches/snap-stage3/src/libstd/cmp.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -157,20 +157,19 @@ pub fn lexical_ordering(o1: Ordering, o2: Ordering) -> Ordering {
157157
/**
158158
* Trait for values that can be compared for a sort-order.
159159
*
160-
* Ord only requires implementation of the `lt` method,
161-
* with the others generated from default implementations.
162-
*
163-
* However it remains possible to implement the others separately,
164-
* for compatibility with floating-point NaN semantics
160+
* Eventually this may be simplified to only require
161+
* an `le` method, with the others generated from
162+
* default implementations. However it should remain
163+
* possible to implement the others separately, for
164+
* compatibility with floating-point NaN semantics
165165
* (cf. IEEE 754-2008 section 5.11).
166166
*/
167-
#[allow(default_methods)] // NOTE: Remove when allowed in stage0
168167
#[lang="ord"]
169168
pub trait Ord {
170169
fn lt(&self, other: &Self) -> bool;
171-
fn le(&self, other: &Self) -> bool { !other.lt(self) }
172-
fn gt(&self, other: &Self) -> bool { other.lt(self) }
173-
fn ge(&self, other: &Self) -> bool { !self.lt(other) }
170+
fn le(&self, other: &Self) -> bool;
171+
fn ge(&self, other: &Self) -> bool;
172+
fn gt(&self, other: &Self) -> bool;
174173
}
175174

176175
/// The equivalence relation. Two values may be equivalent even if they are

branches/snap-stage3/src/libstd/unstable/global.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ avoid hitting the mutex.
2828
use cast::{transmute};
2929
use clone::Clone;
3030
use kinds::Send;
31-
use libc::{c_void};
31+
use libc::{c_void, intptr_t};
3232
use option::{Option, Some, None};
3333
use ops::Drop;
3434
use unstable::sync::{Exclusive, exclusive};
@@ -228,7 +228,7 @@ fn key_ptr<T:Send>(key: GlobalDataKey<T>) -> uint {
228228
}
229229

230230
extern {
231-
fn rust_get_global_data_ptr() -> *mut int;
231+
fn rust_get_global_data_ptr() -> *mut intptr_t;
232232
}
233233

234234
#[test]

branches/snap-stage3/src/rt/rust_builtin.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ rust_register_exit_function(spawn_fn runner, fn_env_pair *f) {
769769
task->kernel->register_exit_function(runner, f);
770770
}
771771

772-
extern "C" void *
772+
extern "C" intptr_t*
773773
rust_get_global_data_ptr() {
774774
rust_task *task = rust_get_current_task();
775775
return &task->kernel->global_data;

branches/snap-stage3/src/rt/rust_kernel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class rust_kernel {
124124

125125
public:
126126
struct rust_env *env;
127-
uintptr_t global_data;
127+
intptr_t global_data;
128128

129129
rust_kernel(rust_env *env);
130130

branches/snap-stage3/src/test/compile-fail/issue-3344.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
// except according to those terms.
1010

1111
struct thing(uint);
12-
impl Ord for thing { //~ ERROR missing method `lt`
12+
impl Ord for thing { //~ ERROR missing method `gt`
13+
fn lt(&self, other: &thing) -> bool { **self < **other }
1314
fn le(&self, other: &thing) -> bool { **self < **other }
1415
fn ge(&self, other: &thing) -> bool { **self < **other }
1516
}

branches/snap-stage3/src/test/compile-fail/warn-ctypes-err-attr.rs renamed to branches/snap-stage3/src/test/compile-fail/lint-ctypes.rs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
// error-pattern:found rust type
1211
#[deny(ctypes)];
1312

14-
mod libc {
15-
#[nolink]
16-
pub extern {
17-
pub fn malloc(size: int) -> *u8;
18-
}
13+
use std::libc;
14+
15+
#[nolink]
16+
extern {
17+
pub fn bare_type1(size: int); //~ ERROR: found rust type
18+
pub fn bare_type2(size: uint); //~ ERROR: found rust type
19+
pub fn ptr_type1(size: *int); //~ ERROR: found rust type
20+
pub fn ptr_type2(size: *uint); //~ ERROR: found rust type
21+
22+
pub fn good1(size: *libc::c_int);
23+
pub fn good2(size: *libc::c_uint);
1924
}
2025

2126
fn main() {

branches/snap-stage3/src/test/compile-fail/warn-ctypes.rs

Lines changed: 0 additions & 21 deletions
This file was deleted.

branches/snap-stage3/src/test/run-pass/cmp-default.rs

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)