Skip to content

Commit 4cf802e

Browse files
committed
---
yaml --- r: 94066 b: refs/heads/try c: 7a2415f h: refs/heads/master v: v3
1 parent 1d853b5 commit 4cf802e

40 files changed

+194
-139
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 0da105a8b7b6b1e0568e8ff20f6ff4b13cc7ecc2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d3e57dca68fde4effdda3e4ae2887aa535fcd6
5-
refs/heads/try: 91695797c2ff36017edc47af270ca665f2f4d1ef
5+
refs/heads/try: 7a2415f0e43efcbe398d883c32b53bab77986cab
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/Makefile.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,6 @@ endif
134134
# static copies of libstd and libextra. We also generate dynamic versions of all
135135
# libraries, so in the interest of space, prefer dynamic linking throughout the
136136
# compilation process.
137-
RUSTFLAGS_STAGE0 += -Z prefer-dynamic
138137
RUSTFLAGS_STAGE1 += -Z prefer-dynamic
139138
RUSTFLAGS_STAGE2 += -Z prefer-dynamic
140139
RUSTFLAGS_STAGE3 += -Z prefer-dynamic

branches/try/src/etc/vim/syntax/rust.vim

Lines changed: 36 additions & 42 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 Dec 04
6+
" Last Change: 2013 Oct 29
77

88
if version < 600
99
syntax clear
@@ -28,7 +28,6 @@ syn keyword rustKeyword use nextgroup=rustModPath skipwhite
2828
" FIXME: Scoped impl's name is also fallen in this category
2929
syn keyword rustKeyword mod trait struct enum type nextgroup=rustIdentifier skipwhite
3030
syn keyword rustKeyword fn nextgroup=rustFuncName skipwhite
31-
syn keyword rustKeyword proc
3231
syn keyword rustStorage const mut ref static
3332

3433
syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
@@ -90,7 +89,6 @@ syn keyword rustTrait Orderable Signed Unsigned Round
9089
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive
9190
syn keyword rustTrait GenericPath Path PosixPath WindowsPath
9291
syn keyword rustTrait RawPtr
93-
syn keyword rustTrait Buffer Writer Reader Seek
9492
syn keyword rustTrait SendStr SendStrOwned SendStrStatic IntoSendStr
9593
syn keyword rustTrait Str StrVector StrSlice OwnedStr
9694
syn keyword rustTrait IterBytes
@@ -145,29 +143,38 @@ syn match rustOperator display "&&\|||"
145143
syn match rustMacro '\w\(\w\)*!' contains=rustAssert,rustFail
146144
syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustFail
147145

148-
syn match rustSpecialError display contained /\\./
146+
syn match rustFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn?]\|\[\^\=.[^]]*\]\)" contained
147+
syn match rustFormat display "%%" contained
149148
syn match rustSpecial display contained /\\\([nrt0\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)/
150149
syn match rustStringContinuation display contained /\\\n\s*/
151-
syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustSpecial,rustSpecialError,rustStringContinuation
150+
syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustTodo,rustFormat,rustSpecial,rustStringContinuation
152151
syn region rustString start='r\z(#*\)"' end='"\z1'
153152

154153
syn region rustAttribute start="#\[" end="\]" contains=rustString,rustDeriving
155154
syn region rustDeriving start="deriving(" end=")" contained contains=rustTrait
156155

157156
" Number literals
158-
syn match rustDecNumber display "\<[0-9][0-9_]*\%([iu]\%(8\|16\|32\|64\)\=\)\="
159-
syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\%([iu]\%(8\|16\|32\|64\)\=\)\="
160-
syn match rustOctNumber display "\<0o[0-7_]\+\%([iu]\%(8\|16\|32\|64\)\=\)\="
161-
syn match rustBinNumber display "\<0b[01_]\+\%([iu]\%(8\|16\|32\|64\)\=\)\="
162-
163-
" To mark it as a float, it must have at least one of the three things integral values don't have:
164-
" a decimal point and more numbers; an exponent; and a type suffix.
165-
syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)\="
166-
syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\=\%([eE][+-]\=[0-9_]\+\)\(f32\|f64\)\="
167-
syn match rustFloat display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\=\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)"
168-
" Special case for numbers of the form "1." which are float literals, unless followed by
169-
" an identifier, which makes them integer literals with a method call or field access.
170-
syn match rustFloat display "\<[0-9][0-9_]*\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\@!"
157+
syn match rustNumber display "\<[0-9][0-9_]*\>"
158+
syn match rustNumber display "\<[0-9][0-9_]*\(u\|u8\|u16\|u32\|u64\)\>"
159+
syn match rustNumber display "\<[0-9][0-9_]*\(i\|i8\|i16\|i32\|i64\)\>"
160+
161+
syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\>"
162+
syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\(u\|u8\|u16\|u32\|u64\)\>"
163+
syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\(i8\|i16\|i32\|i64\)\>"
164+
syn match rustOctNumber display "\<0o[0-7_]\+\>"
165+
syn match rustOctNumber display "\<0o[0-7_]\+\(u\|u8\|u16\|u32\|u64\)\>"
166+
syn match rustOctNumber display "\<0o[0-7_]\+\(i8\|i16\|i32\|i64\)\>"
167+
syn match rustBinNumber display "\<0b[01_]\+\>"
168+
syn match rustBinNumber display "\<0b[01_]\+\(u\|u8\|u16\|u32\|u64\)\>"
169+
syn match rustBinNumber display "\<0b[01_]\+\(i8\|i16\|i32\|i64\)\>"
170+
171+
syn match rustFloat display "\<[0-9][0-9_]*\(f\|f32\|f64\)\>"
172+
syn match rustFloat display "\<[0-9][0-9_]*\([eE][+-]\=[0-9_]\+\)\>"
173+
syn match rustFloat display "\<[0-9][0-9_]*\([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>"
174+
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\>"
175+
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\(f\|f32\|f64\)\>"
176+
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\>"
177+
syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>"
171178

172179
" For the benefit of delimitMate
173180
syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt0\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime
@@ -176,24 +183,12 @@ syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[
176183

177184
"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting
178185
syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*"
179-
syn match rustCharacter /'\([^'\\]\|\\\(.\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial,rustSpecialError
180-
181-
syn cluster rustComment contains=rustCommentLine,rustCommentLineDoc,rustCommentBlock,rustCommentBlockDoc
182-
syn region rustCommentLine start="//" end="$" contains=rustTodo
183-
syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo
184-
syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,@rustComment keepend extend
185-
syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,@rustComment keepend extend
186-
" FIXME: this is a really ugly and not fully correct implementation. Most
187-
" importantly, a case like ``/* */*`` should have the final ``*`` not being in
188-
" a comment, but in practice at present it leaves comments open two levels
189-
" deep. But as long as you stay away from that particular case, I *believe*
190-
" the highlighting is correct. Due to the way Vim's syntax engine works
191-
" (greedy for start matches, unlike Rust's tokeniser which is searching for
192-
" the earliest-starting match, start or end), I believe this cannot be solved.
193-
" Oh you who would fix it, don't bother with things like duplicating the Block
194-
" rules and putting ``\*\@<!`` at the start of them; it makes it worse, as
195-
" then you must deal with cases like ``/*/**/*/``. And don't try making it
196-
" worse with ``\%(/\@<!\*\)\@<!``, either...
186+
syn match rustCharacter /'\([^'\\]\|\\\([nrt0\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial
187+
188+
syn region rustCommentML start="/\*" end="\*/" contains=rustTodo
189+
syn region rustComment start="//" end="$" contains=rustTodo keepend
190+
syn region rustCommentMLDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo
191+
syn region rustCommentDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo keepend
197192

198193
syn keyword rustTodo contained TODO FIXME XXX NB NOTE
199194

@@ -205,16 +200,15 @@ syn region rustFoldBraces start="{" end="}" transparent fold
205200
" It's not enabled by default as it would drive some people mad.
206201

207202
" Default highlighting {{{1
208-
hi def link rustDecNumber rustNumber
209203
hi def link rustHexNumber rustNumber
210204
hi def link rustOctNumber rustNumber
211205
hi def link rustBinNumber rustNumber
212206
hi def link rustIdentifierPrime rustIdentifier
213207
hi def link rustTrait rustType
214208

215209
hi def link rustSigil StorageClass
210+
hi def link rustFormat Special
216211
hi def link rustSpecial Special
217-
hi def link rustSpecialError Error
218212
hi def link rustStringContinuation Special
219213
hi def link rustString String
220214
hi def link rustCharacter Character
@@ -235,10 +229,10 @@ hi def link rustModPathSep Delimiter
235229
hi def link rustFunction Function
236230
hi def link rustFuncName Function
237231
hi def link rustFuncCall Function
238-
hi def link rustCommentLine Comment
239-
hi def link rustCommentLineDoc SpecialComment
240-
hi def link rustCommentBlock rustCommentLine
241-
hi def link rustCommentBlockDoc rustCommentLineDoc
232+
hi def link rustCommentMLDoc rustCommentDoc
233+
hi def link rustCommentDoc SpecialComment
234+
hi def link rustCommentML rustComment
235+
hi def link rustComment Comment
242236
hi def link rustAssert PreCondit
243237
hi def link rustFail PreCondit
244238
hi def link rustMacro Macro

branches/try/src/libextra/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@ Rust extras are part of the standard Rust distribution.
3232

3333
#[comment = "Rust extras"];
3434
#[license = "MIT/ASL2"];
35+
#[crate_type = "lib"]; // NOTE: remove after stage0 snapshot
3536
#[crate_type = "rlib"];
3637
#[crate_type = "dylib"];
3738

3839
#[feature(macro_rules, globs, managed_boxes)];
3940

4041
#[deny(non_camel_case_types)];
4142
#[deny(missing_doc)];
43+
#[allow(attribute_usage)]; // NOTE: remove after the next snapshot
4244

4345
use std::str::{StrSlice, OwnedStr};
4446

branches/try/src/libextra/unicode.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ pub mod icu {
161161
use unicode::icu::*;
162162

163163
// #[link_name = "icuuc"]
164-
#[link(name = "icuuc")]
164+
#[link_args = "-licuuc"]
165165
extern {
166166
pub fn u_hasBinaryProperty(c: UChar32, which: UProperty) -> UBool;
167167
pub fn u_isdigit(c: UChar32) -> UBool;

branches/try/src/libextra/url.rs

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -19,51 +19,23 @@ use std::hashmap::HashMap;
1919
use std::to_bytes;
2020
use std::uint;
2121

22-
/// A Uniform Resource Locator (URL). A URL is a form of URI (Uniform Resource
23-
/// Identifier) that includes network location information, such as hostname or
24-
/// port number.
25-
///
26-
/// # Example
27-
///
28-
/// ```rust
29-
/// let url = Url { scheme: ~"https",
30-
/// user: Some(UserInfo { user: ~"username", pass: None }),
31-
/// host: ~"example.com",
32-
/// port: Some(~"8080"),
33-
/// path: ~"/foo/bar",
34-
/// query: ~[(~"baz", ~"qux")],
35-
/// fragment: Some(~"quz") };
36-
/// // https://[email protected]:8080/foo/bar?baz=qux#quz
37-
/// ```
3822
#[deriving(Clone, Eq)]
3923
pub struct Url {
40-
/// The scheme part of a URL, such as `https` in the above example.
4124
scheme: ~str,
42-
/// A URL subcomponent for user authentication. `username` in the above example.
4325
user: Option<UserInfo>,
44-
/// A domain name or IP address. For example, `example.com`.
4526
host: ~str,
46-
/// A TCP port number, for example `8080`.
4727
port: Option<~str>,
48-
/// The path component of a URL, for example `/foo/bar`.
4928
path: ~str,
50-
/// The query component of a URL. `~[(~"baz", ~"qux")]` represents the
51-
/// fragment `baz=qux` in the above example.
5229
query: Query,
53-
/// The fragment component, such as `quz`. Doesn't include the leading `#` character.
5430
fragment: Option<~str>
5531
}
5632

57-
/// An optional subcomponent of a URI authority component.
5833
#[deriving(Clone, Eq)]
5934
pub struct UserInfo {
60-
/// The user name.
6135
user: ~str,
62-
/// Password or other scheme-specific authentication information.
6336
pass: Option<~str>
6437
}
6538

66-
/// Represents the query component of a URI.
6739
pub type Query = ~[(~str, ~str)];
6840

6941
impl Url {

branches/try/src/librustc/back/archive.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,25 +119,18 @@ impl Archive {
119119
}
120120

121121
fn find_library(&self, name: &str) -> Path {
122-
let (osprefix, osext) = match self.sess.targ_cfg.os {
122+
let (prefix, ext) = match self.sess.targ_cfg.os {
123123
abi::OsWin32 => ("", "lib"), _ => ("lib", "a"),
124124
};
125-
// On windows, static libraries sometimes show up as libfoo.a and other
126-
// times show up as foo.lib
127-
let oslibname = format!("{}{}.{}", osprefix, name, osext);
128-
let unixlibname = format!("lib{}.a", name);
125+
let libname = format!("{}{}.{}", prefix, name, ext);
129126

130127
let mut rustpath = filesearch::rust_path();
131128
rustpath.push(self.sess.filesearch.get_target_lib_path());
132129
let path = self.sess.opts.addl_lib_search_paths.iter();
133130
for path in path.chain(rustpath.iter()) {
134131
debug!("looking for {} inside {}", name, path.display());
135-
let test = path.join(oslibname.as_slice());
132+
let test = path.join(libname.clone());
136133
if test.exists() { return test }
137-
if oslibname != unixlibname {
138-
let test = path.join(unixlibname.as_slice());
139-
if test.exists() { return test }
140-
}
141134
}
142135
self.sess.fatal(format!("could not find native static library `{}`, \
143136
perhaps an -L flag is missing?", name));

branches/try/src/librustc/front/feature_gate.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@ impl Visitor<()> for Context {
113113

114114
fn visit_item(&mut self, i: @ast::item, _:()) {
115115
for attr in i.attrs.iter() {
116-
if "thread_local" == attr.name() {
116+
if "thread_local" == attr.name() &&
117+
cfg!(stage0, remove_this_on_next_snapshot) { // NOTE: snap rem
117118
self.gate_feature("thread_local", i.span,
118119
"`#[thread_local]` is an experimental feature, and does not \
119120
currently handle destructors. There is no corresponding \
@@ -135,7 +136,8 @@ impl Visitor<()> for Context {
135136
}
136137

137138
ast::item_foreign_mod(..) => {
138-
if attr::contains_name(i.attrs, "link_args") {
139+
if attr::contains_name(i.attrs, "link_args") &&
140+
cfg!(stage0, remove_this_on_next_snapshot) { // NOTE: snap
139141
self.gate_feature("link_args", i.span,
140142
"the `link_args` attribute is not portable \
141143
across platforms, it is recommended to \

branches/try/src/librustc/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616

1717
#[comment = "The Rust compiler"];
1818
#[license = "MIT/ASL2"];
19+
#[crate_type = "lib"]; // NOTE: remove after stage0 snapshot
1920
#[crate_type = "dylib"];
2021

2122
#[feature(macro_rules, globs, struct_variant, managed_boxes)];
23+
#[allow(attribute_usage)]; // NOTE: remove after the next snapshot
2224

2325
extern mod extra;
2426
extern mod syntax;

branches/try/src/librustc/lib/llvm.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,13 @@ pub mod llvm {
306306
use std::libc::{c_char, c_int, c_longlong, c_ushort, c_uint, c_ulonglong,
307307
size_t};
308308

309+
#[cfg(stage0)]
310+
#[link_args = "-lrustllvm"]
311+
extern {}
312+
#[cfg(not(stage0))] // if you're deleting this, put this on the block below
309313
#[link(name = "rustllvm")]
314+
extern {}
315+
310316
extern {
311317
/* Create and destroy contexts. */
312318
pub fn LLVMContextCreate() -> ContextRef;

branches/try/src/librustc/middle/privacy.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ impl<'self> Visitor<()> for EmbargoVisitor<'self> {
243243
ast::sty_static => public_ty,
244244
_ => true,
245245
} && method.vis == ast::public;
246-
if meth_public || public_trait {
246+
if meth_public || tr.is_some() {
247247
self.exported_items.insert(method.id);
248248
}
249249
}

branches/try/src/librustc/middle/typeck/check/_match.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -294,24 +294,17 @@ pub fn check_struct_pat_fields(pcx: &pat_ctxt,
294294
etc: bool) {
295295
let tcx = pcx.fcx.ccx.tcx;
296296
297-
// Index the class fields. The second argument in the tuple is whether the
298-
// field has been bound yet or not.
297+
// Index the class fields.
299298
let mut field_map = HashMap::new();
300299
for (i, class_field) in class_fields.iter().enumerate() {
301-
field_map.insert(class_field.name, (i, false));
300+
field_map.insert(class_field.name, i);
302301
}
303302
304303
// Typecheck each field.
305304
let mut found_fields = HashSet::new();
306305
for field in fields.iter() {
307-
match field_map.find_mut(&field.ident.name) {
308-
Some(&(_, true)) => {
309-
tcx.sess.span_err(span,
310-
format!("field `{}` bound twice in pattern",
311-
tcx.sess.str_of(field.ident)));
312-
}
313-
Some(&(index, ref mut used)) => {
314-
*used = true;
306+
match field_map.find(&field.ident.name) {
307+
Some(&index) => {
315308
let class_field = class_fields[index];
316309
let field_type = ty::lookup_field_type(tcx,
317310
class_id,

branches/try/src/librustdoc/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#[desc = "rustdoc, the Rust documentation extractor"];
1818
#[license = "MIT/ASL2"];
19+
#[crate_type = "lib"]; // NOTE: remove after stage0 snapshot
1920
#[crate_type = "dylib"];
2021

2122
#[feature(globs, struct_variant, managed_boxes)];

branches/try/src/librustpkg/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
url = "https://github.com/mozilla/rust/tree/master/src/librustpkg")];
1818

1919
#[license = "MIT/ASL2"];
20+
#[crate_type = "lib"]; // NOTE: remove after stage0 snapshot
2021
#[crate_type = "dylib"];
2122

2223
#[feature(globs, managed_boxes)];

branches/try/src/librustuv/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,12 @@ via `close` and `delete` methods.
4141
url = "https://github.com/mozilla/rust/tree/master/src/librustuv")];
4242

4343
#[license = "MIT/ASL2"];
44+
#[crate_type = "lib"]; // NOTE: remove after stage0 snapshot
4445
#[crate_type = "rlib"];
4546
#[crate_type = "dylib"];
4647

4748
#[feature(macro_rules, globs)];
49+
#[allow(attribute_usage)]; // NOTE: remove after the next snapshot
4850

4951
use std::cast::transmute;
5052
use std::cast;

branches/try/src/librustuv/timer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ impl RtioTimer for TimerWatcher {
7777
let _missile = match util::replace(&mut self.action, None) {
7878
None => missile, // no need to do a homing dance
7979
Some(action) => {
80-
drop(missile); // un-home ourself
81-
drop(action); // destroy the previous action
80+
util::ignore(missile); // un-home ourself
81+
util::ignore(action); // destroy the previous action
8282
self.fire_homing_missile() // re-home ourself
8383
}
8484
};

0 commit comments

Comments
 (0)