about summary refs log tree commit diff
path: root/src/test/run-make/save-analysis/foo.rs
AgeCommit message (Collapse)AuthorLines
2018-03-22rustc: Add a `#[wasm_custom_section]` attributeAlex Crichton-467/+0
This commit is an implementation of adding custom sections to wasm artifacts in rustc. The intention here is to expose the ability of the wasm binary format to contain custom sections with arbitrary user-defined data. Currently neither our version of LLVM nor LLD supports this so the implementation is currently custom to rustc itself. The implementation here is to attach a `#[wasm_custom_section = "foo"]` attribute to any `const` which has a type like `[u8; N]`. Other types of constants aren't supported yet but may be added one day! This should hopefully be enough to get off the ground with *some* custom section support. The current semantics are that any constant tagged with `#[wasm_custom_section]` section will be *appended* to the corresponding section in the final output wasm artifact (and this affects dependencies linked in as well, not just the final crate). This means that whatever is interpreting the contents must be able to interpret binary-concatenated sections (or each constant needs to be in its own custom section). To test this change the existing `run-make` test suite was moved to a `run-make-fulldeps` folder and a new `run-make` test suite was added which applies to all targets by default. This test suite currently only has one test which only runs for the wasm target (using a node.js script to use `WebAssembly` in JS to parse the wasm output).
2018-01-30add doc(include) to the save-analysis testQuietMisdreavus-0/+4
2017-10-31save-analysis: support unionsNick Cameron-0/+5
2017-06-20Remove the in-tree `flate` crateAlex Crichton-2/+0
A long time coming this commit removes the `flate` crate in favor of the `flate2` crate on crates.io. The functionality in `flate2` originally flowered out of `flate` itself and is additionally the namesake for the crate. This will leave a gap in the naming (there's not `flate` crate), which will likely cause a particle collapse of some form somewhere.
2017-03-30save-analysis: track associated typesNick Cameron-0/+17
2016-11-18save-analysis: handle << and >> operators inside [] in typesNick Cameron-0/+6
Fixes #37700
2016-11-03Stabilize `..` in tuple (struct) patternsVadim Petrochenkov-1/+0
2016-09-04Replace `_, _` with `..`Vadim Petrochenkov-4/+4
2016-01-22Extended save-analysis to support generated code, alterned some spans in ↵Daniel Campbell-0/+38
format_args! and derive to maintain compatability
2015-10-09Make save-analysis work for `if let` etc.Nick Cameron-0/+19
2015-07-09Fix a span bug for qualified pathsNick Cameron-0/+15
2015-05-14save-analysis: fix a bracket counting bugNick Cameron-0/+12
2015-05-14save-analysis: update the smoke testNick Cameron-42/+62
2015-04-21test: Fix fallout in testsAlex Crichton-3/+0
2015-04-14test: Fixup many library unit testsAlex Crichton-27/+24
2015-04-14RebasedNick Cameron-3/+3
2015-04-01Fallout in testsNiko Matsakis-1/+1
2015-03-27rollup merge of #23786: alexcrichton/less-quotesAlex Crichton-1/+1
Conflicts: src/test/auxiliary/static-function-pointer-aux.rs src/test/auxiliary/trait_default_method_xc_aux.rs src/test/run-pass/issue-4545.rs
2015-03-27Unquote all crate names without underscoresRicho Healey-1/+1
2015-03-26Mass rename uint/int to usize/isizeAlex Crichton-2/+2
Now that support has been removed, all lingering use cases are renamed.
2015-03-23Require feature attributes, and add them where necessaryBrian Anderson-1/+1
2015-03-05Remove integer suffixes where the types in compiled code are identical.Eduard Burtescu-3/+3
2015-03-03Switched to Box::new in many places.Felix S. Klock II-3/+4
Many of the modifications putting in `Box::new` calls also include a pointer to Issue 22405, which tracks going back to `box <expr>` if possible in the future. (Still tried to use `Box<_>` where it sufficed; thus some tests still have `box_syntax` enabled, as they use a mix of `box` and `Box::new`.) Precursor for overloaded-`box` and placement-`in`; see Issue 22181.
2015-02-19Round 5 test fixes and rebase conflictsAlex Crichton-1/+1
2015-02-18rollup merge of #22286: nikomatsakis/variance-4bAlex Crichton-0/+1
Conflicts: src/librustc/middle/infer/combine.rs src/librustc_typeck/check/wf.rs
2015-02-18rollup merge of #22210: aturon/stab-final-borrowAlex Crichton-1/+1
Conflicts: src/libcollections/btree/map.rs src/libcollections/str.rs src/libcollections/vec.rs src/libcore/borrow.rs src/libcore/hash/mod.rs src/libstd/collections/hash/map.rs src/libstd/collections/hash/set.rs
2015-02-18Stabilize std::borrowAaron Turon-1/+1
This commit stabilizes `std::borrow`, making the following modifications to catch up the API with language changes: * It renames `BorrowFrom` to `Borrow`, as was originally intended (but blocked for technical reasons), and reorders the parameters accordingly. * It moves the type parameter of `ToOwned` to an associated type. This is somewhat less flexible, in that each borrowed type must have a unique owned type, but leads to a significant simplification for `Cow`. Flexibility can be regained by using newtyped slices, which is advisable for other reasons anyway. * It removes the owned type parameter from `Cow`, making the type much less verbose. * Deprecates the `is_owned` and `is_borrowed` predicates in favor of direct matching. The above API changes are relatively minor; the basic functionality remains the same, and essentially the whole module is now marked `#[stable]`. [breaking-change]
2015-02-18Fallout: tests. As tests frequently elide things, lots of changesNiko Matsakis-0/+1
here. Some of this may have been poorly rebased, though I tried to be careful and preserve the spirit of the test.
2015-02-18Update suffixes en masse in tests using `perl -p -i -e`Niko Matsakis-2/+2
2015-02-18Remove `i`, `is`, `u`, or `us` suffixes that are not necessary.Niko Matsakis-1/+1
2015-02-06remove the deprecated MaybeOwnedVectorJorge Aparicio-2/+1
2015-02-05cleanup: replace `as[_mut]_slice()` calls with deref coercionsJorge Aparicio-17/+17
2015-02-04remove all kind annotations from closuresJorge Aparicio-1/+1
2015-01-31Kill more `isize`sTobias Bucher-1/+1
2015-01-30Test fixes and rebase conflictsAlex Crichton-3/+3
Also some tidying up of a bunch of crate attributes
2015-01-30Make the save-analysis smoke test more thoroughNick Cameron-29/+308
2015-01-07Test fixes and rebase conflictsAlex Crichton-0/+2
2014-11-17Switch to purely namespaced enumsSteven Fackler-4/+4
This breaks code that referred to variant names in the same namespace as their enum. Reexport the variants in the old location or alter code to refer to the new locations: ``` pub enum Foo { A, B } fn main() { let a = A; } ``` => ``` pub use self::Foo::{A, B}; pub enum Foo { A, B } fn main() { let a = A; } ``` or ``` pub enum Foo { A, B } fn main() { let a = Foo::A; } ``` [breaking-change]
2014-06-13Dump results of analysis phase as CSVNick Cameron-0/+58
Adds the option -Zsave-analysis which will dump the results of syntax and type checking into CSV files. These can be interpreted by tools such as DXR to provide semantic information about Rust programs for code search, cross-reference, etc. Authored by Nick Cameron and Peter Elmers (@pelmers; including enums, type parameters/generics).