Auto merge of #26985 - Manishearth:rollup, r=Manishearth

- Successful merges: #26881, #26967, #26973, #26974, #26976, #26979
- Failed merges:
This commit is contained in:
bors 2015-07-12 09:50:13 +00:00
commit aff208033b
5 changed files with 65 additions and 66 deletions

View File

@ -46,7 +46,7 @@
//! // The division was valid
//! Some(x) => println!("Result: {}", x),
//! // The division was invalid
//! None => println!("Cannot divide by 0")
//! None => println!("Cannot divide by 0"),
//! }
//! ```
//!
@ -75,7 +75,7 @@
//! fn check_optional(optional: &Option<Box<i32>>) {
//! match *optional {
//! Some(ref p) => println!("have value {}", p),
//! None => println!("have no value")
//! None => println!("have no value"),
//! }
//! }
//! ```
@ -95,13 +95,13 @@
//! // Take a reference to the contained string
//! match msg {
//! Some(ref m) => println!("{}", *m),
//! None => ()
//! None => (),
//! }
//!
//! // Remove the contained string, destroying the Option
//! let unwrapped_msg = match msg {
//! Some(m) => m,
//! None => "default message"
//! None => "default message",
//! };
//! ```
//!
@ -137,7 +137,7 @@
//!
//! match name_of_biggest_animal {
//! Some(name) => println!("the biggest animal is {}", name),
//! None => println!("there are no animals :(")
//! None => println!("there are no animals :("),
//! }
//! ```
@ -198,7 +198,7 @@ impl<T> Option<T> {
pub fn is_some(&self) -> bool {
match *self {
Some(_) => true,
None => false
None => false,
}
}
@ -244,7 +244,7 @@ impl<T> Option<T> {
pub fn as_ref<'r>(&'r self) -> Option<&'r T> {
match *self {
Some(ref x) => Some(x),
None => None
None => None,
}
}
@ -265,7 +265,7 @@ impl<T> Option<T> {
pub fn as_mut<'r>(&'r mut self) -> Option<&'r mut T> {
match *self {
Some(ref mut x) => Some(x),
None => None
None => None,
}
}
@ -376,7 +376,7 @@ impl<T> Option<T> {
pub fn unwrap_or(self, def: T) -> T {
match self {
Some(x) => x,
None => def
None => def,
}
}
@ -394,7 +394,7 @@ impl<T> Option<T> {
pub fn unwrap_or_else<F: FnOnce() -> T>(self, f: F) -> T {
match self {
Some(x) => x,
None => f()
None => f(),
}
}
@ -420,7 +420,7 @@ impl<T> Option<T> {
pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Option<U> {
match self {
Some(x) => Some(f(x)),
None => None
None => None,
}
}
@ -464,7 +464,7 @@ impl<T> Option<T> {
pub fn map_or_else<U, D: FnOnce() -> U, F: FnOnce(T) -> U>(self, default: D, f: F) -> U {
match self {
Some(t) => f(t),
None => default()
None => default(),
}
}
@ -637,7 +637,7 @@ impl<T> Option<T> {
pub fn or(self, optb: Option<T>) -> Option<T> {
match self {
Some(_) => self,
None => optb
None => optb,
}
}
@ -659,7 +659,7 @@ impl<T> Option<T> {
pub fn or_else<F: FnOnce() -> Option<T>>(self, f: F) -> Option<T> {
match self {
Some(_) => self,
None => f()
None => f(),
}
}
@ -736,7 +736,7 @@ impl<T: Default> Option<T> {
pub fn unwrap_or_default(self) -> T {
match self {
Some(x) => x,
None => Default::default()
None => Default::default(),
}
}
}

View File

@ -791,8 +791,7 @@ trait Foo {
fn bar(&self);
}
// we now declare a function which takes an object with Foo trait implemented
// as parameter
// we now declare a function which takes an object implementing the Foo trait
fn some_func<T: Foo>(foo: T) {
foo.bar();
}
@ -1006,7 +1005,7 @@ a compile-time constant.
E0308: r##"
This error occurs when the compiler was unable to infer the concrete type of a
variable. This error can occur for several cases, the most common of which is a
variable. It can occur for several cases, the most common of which is a
mismatch in the expected type that the compiler inferred for a variable's
initializing expression, and the actual type explicitly assigned to the
variable.

View File

@ -76,62 +76,65 @@
highlightSourceLines(null);
$(window).on('hashchange', highlightSourceLines);
// Helper function for Keyboard events,
// Get's the char from the keypress event
// Gets the human-readable string for the virtual-key code of the
// given KeyboardEvent, ev.
//
// This method is used because e.wich === x is not
// compatible with non-english keyboard layouts
// This function is meant as a polyfill for KeyboardEvent#key,
// since it is not supported in Trident. We also test for
// KeyboardEvent#keyCode because the handleShortcut handler is
// also registered for the keydown event, because Blink doesn't fire
// keypress on hitting the Escape key.
//
// Note: event.type must be keypress !
function getChar(event) {
if (event.which == null) {
return String.fromCharCode(event.keyCode) // IE
} else if (event.which!=0 && event.charCode!=0) {
return String.fromCharCode(event.which) // the rest
} else {
return null // special key
}
// So I guess you could say things are getting pretty interoperable.
function getVirtualKey(ev) {
if ("key" in ev && typeof ev.key != "undefined")
return ev.key;
var c = ev.charCode || ev.keyCode;
if (c == 27)
return "Escape";
return String.fromCharCode(c);
}
$(document).on('keypress', function handleKeyboardShortcut(e) {
if (document.activeElement.tagName === 'INPUT') {
function handleShortcut(ev) {
if (document.activeElement.tagName == "INPUT")
return;
}
if (getChar(e) === '?') {
if (e.shiftKey && $('#help').hasClass('hidden')) {
e.preventDefault();
$('#help').removeClass('hidden');
switch (getVirtualKey(ev)) {
case "Escape":
if (!$("#help").hasClass("hidden")) {
ev.preventDefault();
$("#help").addClass("hidden");
} else if (!$("#search").hasClass("hidden")) {
ev.preventDefault();
$("#search").addClass("hidden");
$("#main").removeClass("hidden");
}
} else if (getChar(e) === 's' || getChar(e) === 'S') {
e.preventDefault();
$('.search-input').focus();
}
}).on('keydown', function(e) {
// The escape key event has to be captured with the keydown event.
// Because keypressed has no keycode for the escape key
// (and other special keys in general)...
if (document.activeElement.tagName === 'INPUT') {
return;
}
break;
if (e.keyCode === 27) { // escape key
if (!$('#help').hasClass('hidden')) {
e.preventDefault();
$('#help').addClass('hidden');
} else if (!$('#search').hasClass('hidden')) {
e.preventDefault();
$('#search').addClass('hidden');
$('#main').removeClass('hidden');
case "s":
case "S":
ev.preventDefault();
$(".search-input").focus();
break;
case "?":
if (ev.shiftKey && $("#help").hasClass("hidden")) {
ev.preventDefault();
$("#help").removeClass("hidden");
}
break;
}
}).on('click', function(e) {
if (!$(e.target).closest('#help').length) {
$('#help').addClass('hidden');
}
$(document).on("keypress", handleShortcut);
$(document).on("keydown", handleShortcut);
$(document).on("click", function(ev) {
if (!$(ev.target).closest("#help").length) {
$("#help").addClass("hidden");
}
});
$('.version-selector').on('change', function() {
var i, match,
url = document.location.href,
@ -150,6 +153,7 @@
document.location.href = url;
});
/**
* A function to compute the Levenshtein distance between two strings
* Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported

View File

@ -17,7 +17,7 @@ document.addEventListener('DOMContentLoaded', function() {
}
var featureRegexp = new RegExp('^\s*#!\\[feature\\(\.*?\\)\\]');
var elements = document.querySelectorAll('pre.rust');
var elements = document.querySelectorAll('pre.rust-example-rendered');
Array.prototype.forEach.call(elements, function(el) {
el.onmouseover = function(e) {

View File

@ -17,10 +17,6 @@
//! # #![allow(unused_imports)]
//! use std::io::prelude::*;
//! ```
//!
//! This module contains reexports of many core I/O traits such as `Read`,
//! `Write` and `BufRead`. Structures and functions are not
//! contained in this module.
#![stable(feature = "rust1", since = "1.0.0")]