about summary refs log tree commit diff
path: root/src/librustdoc/core.rs
AgeCommit message (Collapse)AuthorLines
2016-04-18Reachability check cross-crate linksmitaa-8/+12
2016-04-18Perform doc-reachability check for inlined implsmitaa-5/+14
This changes the current rule that impls within `doc(hidden)` modules aren't inlined, to only inlining impls where the implemented trait and type are reachable in documentation.
2016-04-13Retire rustdocs `ANALYSISKEY`mitaa-48/+22
The thread-local isn't needed and consists of mostly empty fields which were just used to move the data into `html::render::CACHE_KEY`.
2016-04-06rustc: move middle::{def,def_id,pat_util} to hir.Eduard Burtescu-1/+1
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-2/+2
2016-03-27rustc: move cfg, infer, traits and ty from middle to top-level.Eduard Burtescu-1/+1
2016-03-11Auto merge of #32133 - alexcrichton:linkchecker, r=brsonbors-2/+2
Add a link validator to rustbuild This commit was originally targeted at just adding a link checking script to the rustbuild system. This ended up snowballing a bit to extend rustbuild to be amenable to various tools we have as part of the build system in general. There's a new `src/tools` directory which has a number of scripts/programs that are purely intended to be used as part of the build system and CI of this repository. This is currently inhabited by rustbook, the error index generator, and a new linkchecker script added as part of this PR. I suspect that more tools like compiletest, tidy scripts, snapshot scripts, etc will migrate their way into this directory over time. The commit which adds the error index generator shows the steps necessary to add new tools to the build system, namely: 1. New steps are defined for building the tool and running the tool 2. The dependencies are configured 3. The steps are implemented In terms of the link checker, these commits do a few things: * A new `src/tools/linkchecker` script is added. This will read an entire documentation tree looking for broken relative links (HTTP links aren't followed yet). * A large number of broken links throughout the documentation were fixed. Many of these were just broken when viewed from core as opposed to std, but were easily fixed. * A few rustdoc bugs here and there were fixed
2016-03-09Auto merge of #31631 - jonas-schievink:agoraphobia, r=nrcbors-1/+1
[breaking-batch] Move more uses of `panictry!` out of libsyntax
2016-03-08rustdoc: Don't inline all impls all at onceAlex Crichton-2/+2
Right now whenever rustdoc inlines a struct or enum from another crate it ends up inlining *all* `impl` items found in the other crate at the same time. The rationale for this was to discover all trait impls which are otherwise not probed for. This unfortunately picks up a lot of impls of public traits for private types, causing lots of broken links. This commit instead hoards all of those inlined impls into a temporary storage location which is then selectively drawn from whenever we inline a new type. This should ensure that we still inline all relevant impls while avoiding all private ones.
2016-03-03Rename middle::ty::ctxt to TyCtxtJeffrey Seyfried-4/+4
2016-02-16Move more uses of `panictry!` out of libsyntaxJonas Schievink-1/+1
[breaking-change] for syntax extensions
2016-02-08Make rustdoc report driver phase-3 errors instead of continuingDirk Gadsden-4/+15
Fixes #31451.
2016-02-05Instrument the AST map so that it registers reads when data isNiko Matsakis-1/+2
acccessed.
2016-02-02Reviewer requested changes and test fixesNick Cameron-1/+1
2016-01-26Initial work towards abort-free compilationNick Cameron-9/+9
The goal is that the compiler will pass `Result`s around rather than using abort_if_errors. To preserve behaviour we currently abort at the top level. I've removed all other aborts from the driver, but haven't touched any of the nested aborts.
2016-01-15Add a testNick Cameron-5/+5
And fix bustage in make check
2016-01-05Annotate the compiler with information about what it is doing when.Niko Matsakis-0/+1
2015-12-21Register new snapshotsAlex Crichton-2/+2
Lots of cruft to remove!
2015-12-17move error handling from libsyntax/diagnostics.rs to libsyntax/errors/*Nick Cameron-7/+9
Also split out emitters into their own module.
2015-11-26fix tests & rustdocAriel Ben-Yehuda-1/+1
2015-11-26make check worksAriel Ben-Yehuda-2/+8
2015-11-19Changes to data produced by privacy passVadim Petrochenkov-14/+9
2015-11-04Auto merge of #29217 - nikomatsakis:mir-trans, r=dotdashbors-1/+1
This branch implements a variant of trans that is based on MIR. It is very incomplete (intentionally), and had only the goal of laying out enough work to enable more incremental follow-on patches. Currently, only fns tagged with `#[rustc_mir]` use the new trans code. I plan to build up a meta-issue as well that tracks the various "not-yet-implemented" points. The only fn that has been tested so far is this amazingly complex "spike" fn: ```rust #[rustc_mir] fn sum(x: i32, y: i32) -> i32 { x + y } ``` In general, the most interesting commit is the last one. There are some points on which I would like feedback from @rust-lang/compiler: - I did not use `Datum`. Originally, I thought that maybe just a `ValueRef` would be enough but I wound up with two very simple structures, `LvalueRef` and `OperandRef`, that just package up a `ValueRef` and a type. Because of MIR's structure, you don't wind up mixing by-ref and by-value so much, and I tend to think that a thinner abstraction layer is better here, but I'm not sure. - Related to the above, I expect that sooner or later we will analyze temps (and maybe variables too) to find those whose address is never taken and which are word-sized and which perhaps meet a few other criteria. For those, we'll probably want to avoid the alloca, just because it means prettier code. - I generally tried to re-use data structures from elsewhere in trans, though I'm sure we can trim these down. - I didn't do any debuginfo primarily because it seems to want node-ids and we have only spans. I haven't really read into that code so I don't know what's going on there. r? @nrc
2015-11-03Pass the mir map to transNiko Matsakis-1/+1
2015-11-02librustdoc: ignore lint warnings when compiling documentationKevin Butler-0/+1
2015-10-21save-analysis: don't recompute crate nameNick Cameron-1/+1
2015-10-09Misc fixupsNick Cameron-1/+1
2015-10-09Some cleanup of no longer used AST thingsNick Cameron-2/+1
2015-10-09Fixes to rustdoc, etc.Nick Cameron-5/+7
2015-10-01move direct accesses of `node` to go through `as_local_node_id`, unlessNiko Matsakis-3/+15
they are being used as an opaque "position identifier"
2015-10-01move job of creating local-def-ids to ast-map (with a few stragglers)Niko Matsakis-5/+4
2015-09-17Add an early lint pass for lints that operate on the ASTNick Cameron-1/+0
There is a minor [breaking-change] for lint authors - some functions which were previously defined on `lint::Context` have moved to a trait - `LintContext`, you may need to import that trait to avoid name resolution errors.
2015-09-03Add an intital HIR and lowering stepNick Cameron-5/+10
2015-08-24fallout from moving def-idNiko Matsakis-8/+9
2015-08-17Add some SIMD target_feature cfg's when appropriate.Huon Wilson-2/+3
NB. this may not be 100% perfect.
2015-06-20Auto merge of #26417 - brson:feature-err, r=steveklabnikbors-2/+2
It now says '#[feature] may not be used on the stable release channel'. I had to convert this error from a lint to a normal compiler error. I left the lint previously-used for this in place since removing it is a breaking change. It will just go unused until the end of time. Fixes #24125
2015-06-18Make a better error message for using #[feature] on stable rustBrian Anderson-2/+2
It now says '#[feature] may not be used on the stable release channel'. I had to convert this error from a lint to a normal compiler error. I left the lint previously-used for this in place since removing it is a breaking change. It will just go unused until the end of time. Fixes #24125
2015-06-19rustc: enforce stack discipline on ty::ctxt.Eduard Burtescu-51/+52
2015-06-19rustc: remove ownership of tcx from trans' context.Eduard Burtescu-9/+9
2015-06-10syntax: move ast_map to librustc.Eduard Burtescu-1/+2
2015-05-14syntax: refactor (Span)Handler and ParseSess constructors to be methods.Eduard Burtescu-2/+2
2015-04-16rustdoc: Inline methods inhereted through DerefAlex Crichton-2/+7
Whenever a type implements Deref, rustdoc will now add a section to the "methods available" sections for "Methods from Deref<Target=Foo>", listing all the inherent methods of the type `Foo`. Closes #19190
2015-04-07rustdoc: Run external traits through filtersAlex Crichton-4/+0
This ensures that all external traits are run through the same filters that the rest of the AST goes through, stripping hidden function as necessary. Closes #13698
2015-02-28Separate most of rustc::lint::builtin into a separate crate.Huon Wilson-0/+2
This pulls out the implementations of most built-in lints into a separate crate, to reduce edit-compile-test iteration times with librustc_lint and increase parallelism. This should enable lints to be refactored, added and deleted much more easily as it slashes the edit-compile cycle to get a minimal working compiler to test with (`make rustc-stage1`) from librustc -> librustc_typeck -> ... -> librustc_driver -> libcore -> ... -> libstd to librustc_lint -> librustc_driver -> libcore -> ... libstd which is significantly faster, mainly due to avoiding the librustc build itself. The intention would be to move as much as possible of the infrastructure into the crate too, but the plumbing is deeply intertwined with librustc itself at the moment. Also, there are lints for which diagnostics are registered directly in the compiler code, not in their own crate traversal, and their definitions have to remain in librustc. This is a [breaking-change] for direct users of the compiler APIs: callers of `rustc::session::build_session` or `rustc::session::build_session_` need to manually call `rustc_lint::register_builtins` on their return value. This should make #22206 easier.
2015-02-05cleanup: replace `as[_mut]_slice()` calls with deref coercionsJorge Aparicio-2/+2
2015-01-27Merge remote-tracking branch 'rust-lang/master'Brian Anderson-1/+1
Conflicts: src/libcore/cell.rs src/librustc_driver/test.rs src/libstd/old_io/net/tcp.rs src/libstd/old_io/process.rs
2015-01-27accommodate new scoping rules in rustc and rustdoc source.Felix S. Klock II-1/+1
2015-01-26Make '-A warnings' apply to all warnings, including feature gate warningsBrian Anderson-1/+1
2015-01-17rustdoc: Add some re-exportsTom Jakubowski-2/+4
2015-01-17rustdoc: Accept string source in core::run_coreTom Jakubowski-7/+9
This is wanted by external tooling that uses rustdoc. There are likely some bugs when actually generating HTML output (which may expect to be able to read the source) but all I need for now is the cleaned crate and analysis.