- 24 9月, 2016 4 次提交
-
-
由 Guillaume Gomez 提交于
This installs documentation not man pages This fixes the description for docdir in configure, it was my mistake for leaving it as "man pages", oops.
-
由 Guillaume Gomez 提交于
Fix wording for out-of-crate macro error This fixes the wording of the note for out-of-crate macro errors to fix https://github.com/rust-lang/rust/issues/36469 The previous wording came from older logic in the PR that was replaced without updating the note.
-
由 Guillaume Gomez 提交于
strengthen doc warning about CString::from_raw Saw unsound code using this function on IRC.
-
由 bors 提交于
Don't let a type parameter named "Self" unchanged past HIR lowering. Fixes #36638 by rewriting `Self` type parameters (which are a parse error) to a `gensym("Self")`. Background: #35605 introduced code across rustc that determines `Self` by its keyword name. Reverting the sanity checks around that would inadvertently cause confusion between the true `Self` of a `trait` and other type parameters named `Self` (which have caused parse errors already). I do not like to use `gensym`, and we may do something different here in the future, but this should work.
-
- 23 9月, 2016 19 次提交
-
-
由 bors 提交于
Fix ICE test in compiletest fail-tests While working on Clippy which uses *compiletest*, I noticed that as long as all expected error are found, *compile-fail* tests will be marked *ok* even if there is an ICE. One function seems to have not been updated with JSON errors because ICEs are now reported like this: ```json {"message":"../src/librustc/ty/context.rs:161: Attempted to intern `_` which contains inference types/regions in the global type context","code":null,"level":"error: internal compiler error","spans":[],"children":[],"rendered":null} ``` I don't think I can add a test for that. I guess: r? @nikomatsakis
-
由 bors 提交于
Implement Debug for DirEntry. None
-
由 bors 提交于
resolve: groundwork for building the module graph during expansion r? @nrc
-
由 bors 提交于
Adds a `ProcMacro` form of syntax extension This commit adds syntax extension forms matching the types for procedural macros 2.0 (RFC #1566), these still require the usual syntax extension boiler plate, but this is a first step towards proper implementation and should be useful for macros 1.1 stuff too. Supports both attribute-like and function-like macros. Note that RFC #1566 has not been accepted yet, but I think there is consensus that we want to head in vaguely that direction and so this PR will be useful in any case. It is also fairly easy to undo and does not break any existing programs. This is related to #35957 in that I hope it can be used in the implementation of macros 1.1, however, there is no direct overlap and is more of a complement than a competing proposal. There is still a fair bit of work to do before the two can be combined. r? @jseyfried cc @alexcrichton, @cgswords, @EddyB, @aturon
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
由 bors 提交于
Rollup of 7 pull requests - Successful merges: #36330, #36423, #36539, #36571, #36589, #36600, #36632 - Failed merges:
-
由 Nick Cameron 提交于
-
由 Jonathan Turner 提交于
Fix outdated Doc Comment on BufReader::seek A long time ago non-panicking `unwrap` methods were renamed to `into_inner` in this Pull Request: https://github.com/rust-lang/rust/pull/19149 Looks like this doc comment was not updated however.
-
由 Jonathan Turner 提交于
Minor correction in `sort_by_key` doc comment The parameter to `sort_by_key` is named `f`, not `key`.
-
由 Jonathan Turner 提交于
fixed the safety header/wording in option.rs Fixes #36581 screenshot of the rendered documentation: http://imgur.com/14kLVrA r? @steveklabnik
-
由 Jonathan Turner 提交于
Tweak std::rc docs Fixes #29372. r? @GuillaumeGomez
-
由 Jonathan Turner 提交于
fix top level attr spans issue #36530 ?r @jonathandturner
-
由 Jonathan Turner 提交于
Add missing Eq implementations Part of #36301.
-
由 Jonathan Turner 提交于
Updated E0560 to new error format Added a small bit of code to add a label for E0560. Also renamed src/test/compile-fail/E560.rs file to E0560.rs (not sure why it was named E560). Updated all test cases which check this error. Closes #36199
-
由 Corey Farwell 提交于
-
由 Eduard Burtescu 提交于
-
由 bors 提交于
Fix documentation with 'soft-float' codegen option This option doesn't cause software FP routines to be called, it only changes the float ABI. Additionally, this option is ignored by all targets, except the ARM eabihf ones.
-
由 mcarton 提交于
-
- 22 9月, 2016 13 次提交
-
-
由 bors 提交于
macros: allow attribute invocations at the crate root Fixes #36617. r? @nrc
-
由 bors 提交于
Lazily allocate TypedArena's first chunk Currently `TypedArena` allocates its first chunk, which is usually 4096 bytes, as soon as it is created. If no allocations are ever made from the arena then this allocation (and the corresponding deallocation) is wasted effort. This commit changes `TypedArena` so it doesn't allocate the first chunk until the first allocation is made. This change speeds up rustc by a non-trivial amount because rustc uses `TypedArena` heavily: compilation speed (producing debug builds) on several of the rustc-benchmarks increases by 1.02--1.06x. The change should never cause a slow-down because the hot `alloc` function is unchanged. It does increase the size of `TypedArena` by one `usize` field, however. The commit also fixes some out-of-date comments.
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
由 Jeffrey Seyfried 提交于
-
由 bors 提交于
Add the ability to merge spans to codemap This PR adds the ability to merge Spans. To do so, it builds on the Codemap's ability to verify the locations of spans, namely that following can be verified: * the expn_id of both spans much match * the lhs span needs to end on the same line the rhs span begins * the lhs span must start at or before the rhs span If all of these are met, a new span is returned that is min(lo), max(hi) of the two spans. This PR also removes an older Span merge, as this new functionality subsumes it. r? @nrc
-
由 bors 提交于
Refactor away RBML from rustc_metadata. RBML and `ty{en,de}code` have had their long-overdue purge. Summary of changes: * Metadata is now a tree encoded in post-order and with relative backward references pointing to children nodes. With auto-deriving and type safety, this makes maintenance and adding new information to metadata painless and bug-free by default. It's also more compact and cache-friendly (cache misses should be proportional to the depth of the node being accessed, not the number of siblings as in EBML/RBML). * Metadata sizes have been reduced, for `libcore` it went down 16% (`8.38MB` -> `7.05MB`) and for `libstd` 14% (`3.53MB` -> `3.03MB`), while encoding more or less the same information * Specialization is used in the bundled `libserialize` (crates.io `rustc_serialize` remains unaffected) to customize the encoding (and more importantly, decoding) of various types, most notably those interned in the `TyCtxt`. Some of this abuses a soundness hole pending a fix (cc @aturon), but when that fix arrives, we'll move to macros 1.1 `#[derive]` and custom `TyCtxt`-aware serialization traits. * Enumerating children of modules from other crates is now orthogonal to describing those items via `Def` - this is a step towards bridging crate-local HIR and cross-crate metadata * `CrateNum` has been moved to `rustc` and both it and `NodeId` are now newtypes instead of `u32` aliases, for specializing their decoding. This is `[syntax-breaking]` (cc @Manishearth ). cc @rust-lang/compiler
-
由 bors 提交于
Workaround #34427 by using memset of 0 on ARM to set the discriminant. Workaround #34427 by using memset of 0 on ARM to set the discriminant.
-
由 Jeffrey Seyfried 提交于
-
由 Nick Cameron 提交于
This commit adds syntax extension forms matching the types for procedural macros 2.0 (RFC #1566), these still require the usual syntax extension boiler plate, but this is a first step towards proper implementation and should be useful for macros 1.1 stuff too. Supports both attribute-like and function-like macros.
-
由 Christopher Serr 提交于
A long time ago non-panicking `unwrap` methods were renamed to `into_inner` in this Pull Request: https://github.com/rust-lang/rust/pull/19149 Looks like this doc comment was not updated however.
-
由 Keegan McAllister 提交于
Fixes #29372.
-
- 21 9月, 2016 4 次提交
-
-
由 bors 提交于
add debug_assert_ne + assert_ne ~~
✨ work in progress, please do not merge✨ ~~ fixes #35073 -
由 Ashley Williams 提交于
-
由 Jeffrey Seyfried 提交于
-
由 bors 提交于
trans: Only instantiate #[inline] functions in codegen units referencing them This PR changes how `#[inline]` functions are translated. Before, there was one "master instance" of the function with `external` linkage and a number of on-demand instances with `available_externally` linkage in each codegen unit that referenced the function. This had two downsides: * Public functions marked with `#[inline]` would be present in machine code of libraries unnecessarily (see #36280 for an example) * LLVM would crash on `i686-pc-windows-msvc` due to what I suspect to be a bug in LLVM's Win32 exception handling code, because it doesn't like `available_externally` there (#36309). This PR changes the behavior, so that there is no master instance and only on-demand instances with `internal` linkage. The downside of this is potential code-bloat if LLVM does not completely inline away the `internal` instances because then there'd be N instances of the function instead of 1. However, this can only become a problem when using more than one codegen unit per crate. cc @rust-lang/compiler
-