Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 10 pull requests #48017

Merged
merged 25 commits into from
Feb 6, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ab7f02d
add documentation from doc(include) to analysis data
QuietMisdreavus Jan 16, 2018
6c86da2
Make wording around 0-cost casts more precise
tbu- Jan 27, 2018
f641ac6
Add regression test for #44415
Jan 24, 2018
5a350c1
add doc(include) to the save-analysis test
QuietMisdreavus Jan 31, 2018
c22d6e2
Fix rustdoc ICE on macros defined within functions
Manishearth Feb 2, 2018
ee737c7
Add regression test
Manishearth Feb 2, 2018
3d114c7
Remove delay_span_bug() in check_aliasability
topecongiro Feb 4, 2018
f243f92
Fix info about generic impls in AsMut docs
mbrubeck Feb 4, 2018
dcb3e21
update trpl
steveklabnik Jan 25, 2018
b320829
update reference
steveklabnik Jan 26, 2018
5437188
update mdbook to 0.1.2
steveklabnik Jan 25, 2018
983cc00
add exceptions for new deps
steveklabnik Feb 3, 2018
3c72a84
save-analysis: avoid implicit unwrap
nrc Feb 4, 2018
01f0814
Stabilize use_nested_groups
pietroalbini Feb 1, 2018
a29d854
Make inline assembly volatile if it has no outputs. Fixes #46026
Zoxc Nov 16, 2017
eb5a461
Rollup merge of #46030 - Zoxc:asm-volatile, r=nikomatsakis
kennytm Feb 5, 2018
cde119d
Rollup merge of #47496 - QuietMisdreavus:rls-doc-include, r=estebank
kennytm Feb 5, 2018
9dab737
Rollup merge of #47543 - topecongiro:issue-42344, r=nikomatsakis
kennytm Feb 5, 2018
a405a08
Rollup merge of #47704 - dsprenkels:issue-44415, r=alexcrichton
kennytm Feb 5, 2018
ddc4284
Rollup merge of #47753 - steveklabnik:update-book, r=alexcrichton
kennytm Feb 5, 2018
e8688b4
Rollup merge of #47807 - tbu-:pr_doc_constanttime_cstr, r=steveklabnik
kennytm Feb 5, 2018
55aef3c
Rollup merge of #47948 - pietroalbini:use-nested-groups-stabilize, r=…
kennytm Feb 5, 2018
daecd15
Rollup merge of #47959 - Manishearth:rustdoc-ice, r=Mark-Simulacrum
kennytm Feb 5, 2018
e2f6e13
Rollup merge of #48003 - mbrubeck:docs, r=steveklabnik
kennytm Feb 5, 2018
0553dc8
Rollup merge of #48007 - nrc:rls-field-init, r=eddyb
kennytm Feb 5, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 45 additions & 6 deletions src/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/doc/book
Submodule book updated 122 files
2 changes: 1 addition & 1 deletion src/doc/reference
90 changes: 0 additions & 90 deletions src/doc/unstable-book/src/language-features/use-nested-groups.md

This file was deleted.

6 changes: 3 additions & 3 deletions src/libcore/convert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,9 @@ pub trait AsRef<T: ?Sized> {
///
/// # Generic Implementations
///
/// - `AsMut` auto-dereferences if the inner type is a reference or a mutable
/// reference (e.g.: `foo.as_ref()` will work the same if `foo` has type
/// `&mut Foo` or `&&mut Foo`)
/// - `AsMut` auto-dereferences if the inner type is a mutable reference
/// (e.g.: `foo.as_mut()` will work the same if `foo` has type `&mut Foo`
/// or `&mut &mut Foo`)
///
/// # Examples
///
Expand Down
19 changes: 14 additions & 5 deletions src/librustc/lint/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1042,11 +1042,20 @@ pub fn check_ast_crate(sess: &Session, krate: &ast::Crate) {
// Put the lint store levels and passes back in the session.
cx.lint_sess.restore(&sess.lint_store);

// Emit all buffered lints from early on in the session now that we've
// calculated the lint levels for all AST nodes.
for (_id, lints) in cx.buffered.map {
for early_lint in lints {
span_bug!(early_lint.span, "failed to process buffered lint here");
// All of the buffered lints should have been emitted at this point.
// If not, that means that we somehow buffered a lint for a node id
// that was not lint-checked (perhaps it doesn't exist?). This is a bug.
//
// Rustdoc runs everybody-loops before the early lints and removes
// function bodies, so it's totally possible for linted
// node ids to not exist (e.g. macros defined within functions for the
// unused_macro lint) anymore. So we only run this check
// when we're not in rustdoc mode. (see issue #47639)
if !sess.opts.actually_rustdoc {
for (_id, lints) in cx.buffered.map {
for early_lint in lints {
span_bug!(early_lint.span, "failed to process buffered lint here");
}
}
}
}
Expand Down
12 changes: 1 addition & 11 deletions src/librustc_borrowck/borrowck/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1068,22 +1068,12 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> {
};

match cause {
mc::AliasableStatic => {
// This happens when we have an `&mut` or assignment to a
// static. We should have already reported a mutability
// violation first, but may have continued compiling.
self.tcx.sess.delay_span_bug(
span,
&format!("aliasability violation for static `{}`", prefix)
);
return;
}
mc::AliasableStaticMut => {
// This path cannot occur. `static mut X` is not checked
// for aliasability violations.
span_bug!(span, "aliasability violation for static mut `{}`", prefix)
}
mc::AliasableBorrowed => {}
mc::AliasableStatic | mc::AliasableBorrowed => {}
};
let blame = cmt.immutability_blame();
let mut err = match blame {
Expand Down
13 changes: 12 additions & 1 deletion src/librustc_save_analysis/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,7 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
field_ref: &ast::Field,
variant: &ty::VariantDef,
) -> Option<Ref> {
let f = variant.field_named(field_ref.ident.node.name);
let f = variant.find_field_named(field_ref.ident.node.name)?;
// We don't really need a sub-span here, but no harm done
let sub_span = self.span_utils.span_for_last_ident(field_ref.ident.span);
filter!(self.span_utils, sub_span, field_ref.ident.span, None);
Expand Down Expand Up @@ -870,6 +870,17 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
result.push_str(&val.as_str());
}
result.push('\n');
} else if let Some(meta_list) = attr.meta_item_list() {
meta_list.into_iter()
.filter(|it| it.check_name("include"))
.filter_map(|it| it.meta_item_list().map(|l| l.to_owned()))
.flat_map(|it| it)
.filter(|meta| meta.check_name("contents"))
.filter_map(|meta| meta.value_str())
.for_each(|val| {
result.push_str(&val.as_str());
result.push('\n');
});
}
}
}
Expand Down
18 changes: 9 additions & 9 deletions src/libstd/ffi/c_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1026,9 +1026,9 @@ impl CStr {
/// The returned slice will **not** contain the trailing nul terminator that this C
/// string has.
///
/// > **Note**: This method is currently implemented as a 0-cost cast, but
/// > it is planned to alter its definition in the future to perform the
/// > length calculation whenever this method is called.
/// > **Note**: This method is currently implemented as a constant-time
/// > cast, but it is planned to alter its definition in the future to
/// > perform the length calculation whenever this method is called.
///
/// # Examples
///
Expand Down Expand Up @@ -1077,9 +1077,9 @@ impl CStr {
/// it will return an error with details of where UTF-8 validation failed.
///
/// > **Note**: This method is currently implemented to check for validity
/// > after a 0-cost cast, but it is planned to alter its definition in the
/// > future to perform the length calculation in addition to the UTF-8
/// > check whenever this method is called.
/// > after a constant-time cast, but it is planned to alter its definition
/// > in the future to perform the length calculation in addition to the
/// > UTF-8 check whenever this method is called.
///
/// [`&str`]: ../primitive.str.html
///
Expand Down Expand Up @@ -1110,9 +1110,9 @@ impl CStr {
/// with the result.
///
/// > **Note**: This method is currently implemented to check for validity
/// > after a 0-cost cast, but it is planned to alter its definition in the
/// > future to perform the length calculation in addition to the UTF-8
/// > check whenever this method is called.
/// > after a constant-time cast, but it is planned to alter its definition
/// > in the future to perform the length calculation in addition to the
/// > UTF-8 check whenever this method is called.
///
/// [`Cow`]: ../borrow/enum.Cow.html
/// [`Borrowed`]: ../borrow/enum.Cow.html#variant.Borrowed
Expand Down
Loading