Skip to content

Find bytes in core #2

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

Closed
wants to merge 9,630 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
9630 commits
Select commit Hold shift + click to select a range
1cabe21
Auto merge of #37487 - goffrie:break, r=nikomatsakis
bors Nov 22, 2016
fae86b9
Cleaned up and appeased the linter
tedsta Nov 23, 2016
ae09957
Whoops :| s/update/unwrap/
tedsta Nov 23, 2016
9ea1544
Add a test
nrc Nov 23, 2016
74cde12
core, collections: Implement better .is_empty() for slice and vec ite…
bluss Nov 22, 2016
cbe4787
macros: improve performance of legacy name resolution.
jseyfried Nov 23, 2016
5196ca8
Auto merge of #37681 - nrc:crate-metadata, r=@alexcrichton
bors Nov 23, 2016
68312e3
Fix a bunch of bugs shown by the test
nrc Nov 23, 2016
ccdc26f
Auto merge of #37886 - Stebalien:set-perm, r=alexcrichton
bors Nov 23, 2016
2121118
Revert libcore changes
canndrew Nov 23, 2016
1c6048d
core: Iterator docs, collect is not an adaptor
bluss Nov 23, 2016
557369e
core: Fix example for .map()
bluss Nov 23, 2016
9fba8df
Auto merge of #37924 - brson:config-bug, r=alexcrichton
bors Nov 23, 2016
464cce9
Rollup merge of #37442 - estebank:cast-deref-hint, r=jonathandturner
GuillaumeGomez Nov 23, 2016
496a411
Rollup merge of #37760 - nnethercote:TypeWalker-SmallVector, r=arielb1
GuillaumeGomez Nov 23, 2016
067ffdd
Rollup merge of #37836 - steveklabnik:remove-incorrect-reference-comm…
GuillaumeGomez Nov 23, 2016
761c738
Rollup merge of #37851 - jneem:master, r=sanxiyn
GuillaumeGomez Nov 23, 2016
881115c
Rollup merge of #37913 - GuillaumeGomez:socket-v4, r=frewsxcv
GuillaumeGomez Nov 23, 2016
cfc7fce
Rollup merge of #37925 - jtdowney:env-args-doc-links, r=steveklabnik
GuillaumeGomez Nov 23, 2016
90a2671
Rollup merge of #37938 - michaelwoerister:move-myriad-closures, r=eddyb
GuillaumeGomez Nov 23, 2016
d2c600a
Rollup merge of #37940 - michaelwoerister:ich-struct-constructors, r=…
GuillaumeGomez Nov 23, 2016
a5049f7
Add ::1 example in IPv6 to IPv4 conversion
GuillaumeGomez Nov 22, 2016
49c6b3c
Use literal 5 instead of five in book section 4.1
samestep Nov 23, 2016
b15e6a6
Use "radices" instead of "radicum"
samestep Nov 23, 2016
127a83d
Auto merge of #37937 - GuillaumeGomez:rollup, r=GuillaumeGomez
bors Nov 23, 2016
559141c
Add missing examples to SocketAddrV6
GuillaumeGomez Nov 23, 2016
d515586
Auto merge of #36449 - canndrew:expand_is_uninhabited, r=eddyb
bors Nov 23, 2016
b1f86fb
Inspect def locally instead of using a method
nrc Nov 23, 2016
8560991
Add a tracking issue for enum_set
sfackler Nov 23, 2016
d5814b0
Auto merge of #37908 - nrc:save-def, r=eddyb
bors Nov 23, 2016
5c1c485
Separated fuchsia-specific process stuff into 'process_fuchsia.rs' an…
tedsta Nov 23, 2016
12c5f8c
rustdoc: use libsyntax ast::Attribute instead of "cleaning" them.
eddyb Nov 23, 2016
e68ad42
rustdoc: sidestep the main pipeline for test collection.
eddyb Nov 20, 2016
4be7786
rustdoc: we can now assume DocContext always has a TyCtxt.
eddyb Nov 20, 2016
1e45b63
Auto merge of #37931 - eddyb:meta-version, r=jseyfried
bors Nov 23, 2016
ba07a1b
std: make compilation of libpanic_unwind optional via a Cargo feature
Nov 24, 2016
696fab8
Auto merge of #37849 - xen0n:compiler-rt-bump, r=alexcrichton
bors Nov 24, 2016
29abe6f
Auto merge of #37890 - eddyb:rustdoc-1, r=nrc
bors Nov 24, 2016
b7982bb
review comments
estebank Nov 23, 2016
a3e03e4
Define `bound` argument in std::sync::mpsc::sync_channel
fkjogu Nov 24, 2016
9383fcf
Add `-Z print-type-sizes`, a tool for digging into how variants are l…
pnkfelix Nov 14, 2016
70e5ca2
Revisions from review comments, squashed.
pnkfelix Nov 15, 2016
75825fe
Tests of `-Z print-type-sizes` functionality.
pnkfelix Nov 24, 2016
217f57c
Auto merge of #37943 - bluss:exact-is-empty, r=alexcrichton
bors Nov 24, 2016
4d0618e
Avoid more unnecessary mk_ty calls in Ty::super_fold_with.
nnethercote Nov 24, 2016
ddf011d
Auto merge of #37770 - pnkfelix:print-type-sizes, r=arielb1
bors Nov 24, 2016
7304001
Support LLVM 4.0 in OptimizationDiagnostic FFI
Nov 24, 2016
a31ad75
Auto merge of #37944 - bluss:adaptors-are-empty, r=alexcrichton
bors Nov 24, 2016
e1269ff
Remove completed FIXME.
frewsxcv Nov 24, 2016
d9bdc63
Auto merge of #37951 - jseyfried:improve_macro_resolution_perf, r=nrc
bors Nov 24, 2016
7d15250
Support `?Sized` in where clauses
petrochenkov Oct 22, 2016
2cdde5a
Delay error reporting of filename mismatch.
plietar Nov 24, 2016
2e7176f
Auto merge of #37974 - japaric:abort, r=alexcrichton
bors Nov 25, 2016
5787643
save-analysis: redirect a module decl to the start of the defining file
nrc Nov 25, 2016
c78cc52
Auto merge of #37979 - nnethercote:Ty-super_fold_with, r=eddyb
bors Nov 25, 2016
ebc0373
Auto merge of #37982 - rkruppe:llvm-diagnostic-fwdcompat, r=alexcrichton
bors Nov 25, 2016
2e6d49d
Pass new argument ExportSymbol to DIBuilder::createNameSpace
Nov 25, 2016
a3ce398
Follow our own recommendations in the examples
vickenty Nov 25, 2016
dad5cde
Auto merge of #37987 - plietar:cross-proc-macro, r=jseyfried
bors Nov 25, 2016
b1566ba
rustbuild: Add bench subcommand
bluss Nov 25, 2016
42e6634
rustbuild: Point to core and collections's external benchmarks.
bluss Nov 25, 2016
56529cd
Add missing urls and examples to TcpStream
GuillaumeGomez Nov 25, 2016
2217bd7
Auto merge of #38000 - rkruppe:llvm-dinamespace-fwdcompat, r=alexcric…
bors Nov 25, 2016
17cb7bd
rustbuild: Add bench = false to std shim crates
bluss Nov 25, 2016
276d91d
Document how the `RwLockReadGuard` structure is created.
frewsxcv Nov 25, 2016
6b4de8b
Document how the `RwLockWriteGuard` structure is created.
frewsxcv Nov 25, 2016
6075af4
Document how the `MutexGuard` structure is created.
frewsxcv Nov 25, 2016
d64b703
Auto merge of #37960 - samestep:five, r=frewsxcv
bors Nov 26, 2016
73e98a0
Auto merge of #37961 - samestep:radices, r=frewsxcv
bors Nov 26, 2016
a809749
Rollup merge of #37962 - GuillaumeGomez:socket-v6, r=frewsxcv
sanxiyn Nov 26, 2016
5aceedf
Rollup merge of #37963 - bluss:iterator-docs, r=alexcrichton
sanxiyn Nov 26, 2016
6ffcdff
Rollup merge of #37967 - sfackler:enumset-issue, r=sfackler
sanxiyn Nov 26, 2016
eeac361
Rollup merge of #37978 - fkjogu:master, r=sfackler
sanxiyn Nov 26, 2016
18f4006
Rollup merge of #37985 - frewsxcv:completed-fixme, r=petrochenkov
sanxiyn Nov 26, 2016
f9f92e1
Rollup merge of #38001 - vickenty:patch-1, r=steveklabnik
sanxiyn Nov 26, 2016
44b926a
Rollup merge of #38010 - frewsxcv:lock-creations, r=GuillaumeGomez
sanxiyn Nov 26, 2016
7e39c0e
Auto merge of #38015 - sanxiyn:rollup, r=sanxiyn
bors Nov 26, 2016
591c134
Clearer description of std::path::MAIN_SEPARATOR.
sourcefrog Nov 26, 2016
5377b5e
Overload get{,_mut}{,_unchecked}
sfackler Jul 19, 2016
9fb81b9
Fix error explanation formatting
alygin Nov 25, 2016
984c039
Fix error explanation formatting
alygin Nov 26, 2016
9003e1a
Auto merge of #38008 - bluss:rustbuild-benches, r=alexcrichton
bors Nov 26, 2016
ebcc6d2
Add part of missing UdpSocket's urls and examples
GuillaumeGomez Nov 26, 2016
9a86579
Auto merge of #38004 - GuillaumeGomez:tcp_stream_doc, r=frewsxcv
bors Nov 26, 2016
f8614c3
Auto merge of #36340 - sfackler:slice-get-slice, r=alexcrichton
bors Nov 27, 2016
fcebf3b
don't double-apply variant padding to const enums
arielb1 Nov 27, 2016
f3930aa
Auto merge of #38023 - arielb1:constant-evil-x2, r=eddyb
bors Nov 27, 2016
f216f1f
Add examples for TcpListener struct
GuillaumeGomez Nov 24, 2016
0e17ba5
Auto merge of #38007 - alygin:err-expl-fix, r=eddyb
bors Nov 27, 2016
cb0e24e
Adapt LLVMRustPrintPasses to LLVM 4.0 preferring `StringRef` over `ch…
Nov 27, 2016
0bcb05c
Finishing d2f8fb0a0a9dd from @jseyfried
dns2utf8 Nov 27, 2016
2dc3fdf
Resolve visibility issues
dns2utf8 Nov 27, 2016
2008732
Auto merge of #37983 - GuillaumeGomez:tcp_listener_doc, r=frewsxcv
bors Nov 27, 2016
28b64dc
Use keywords::Invalid
dns2utf8 Nov 27, 2016
9ca50bd
Auto merge of #38027 - rkruppe:llvm-printpasses-fwdcompat, r=alexcric…
bors Nov 27, 2016
178e29d
Use displacement instead of initial bucket in HashMap code
arthurprs Nov 26, 2016
03bdaad
Auto merge of #38022 - arthurprs:micro-opt-hm, r=bluss
bors Nov 27, 2016
34d1352
rustc: encode the optionality of type parameters in HIR paths.
eddyb Oct 17, 2016
16b5c2c
rustc: desugar UFCS as much as possible during HIR lowering.
eddyb Oct 27, 2016
6ebc6d8
rustc: track hir::{TraitRef, Visibility} in the HIR map.
eddyb Oct 30, 2016
bc09654
rustc: desugar `use a::{b,c};` into `use a::b; use a::c;` in HIR.
eddyb Nov 24, 2016
962633c
rustc: embed path resolutions into the HIR instead of keeping DefMap.
eddyb Nov 25, 2016
da47c2e
rustc_typeck: save the type cache for rustdoc and save-analysis.
eddyb Oct 29, 2016
f97c132
rustc: use Span's allow_internal_unstable instead of hir::BlockCheckM…
eddyb Oct 30, 2016
9aaf26e
rustc: rework stability to be on-demand for type-directed lookup.
eddyb Nov 10, 2016
c7ddb89
Auto merge of #38019 - sourcefrog:doc-separator, r=frewsxcv
bors Nov 28, 2016
36d33d6
rustc_privacy: visit Ty instead of HIR types in EmbargoVisitor.
eddyb Nov 28, 2016
fcdb4de
rustc: track fields in the HIR map.
eddyb Nov 9, 2016
548e681
rustc_privacy: switch private-in-public checking to Ty.
eddyb Nov 12, 2016
372c6df
rustc_typeck: don't record associated type resolutions.
eddyb Nov 24, 2016
1fd9041
Avoid loading needless proc-macro dependencies.
jseyfried Nov 27, 2016
0b399e5
Auto merge of #37676 - eddyb:lazy-7, r=nikomatsakis
bors Nov 28, 2016
02249e8
Define VISIBILITY_HIDDEN when compiling compiler-rt
Nov 28, 2016
39c267a
Auto merge of #38024 - jseyfried:avoid_needless_proc_macro_deps, r=nrc
bors Nov 28, 2016
246edb8
Make core::fmt::Void a non-empty type.
canndrew Nov 28, 2016
46c7a11
Privatize TraitObject.principal and add a method accessor, returning …
Mark-Simulacrum Nov 12, 2016
607af72
Refactor BuiltinBounds to Vec<DefId> on TraitObject.
Mark-Simulacrum Nov 13, 2016
64e97d9
Remove BuiltinBound and BuiltinBounds.
Mark-Simulacrum Nov 14, 2016
7506990
rustbuild: Cross-compiled LLVM depens on host
alexcrichton Nov 28, 2016
85dc08e
Don't assume llvm::StringRef is null terminated
Nov 28, 2016
6e35cc9
Remove unused functions from rustc_llvm
Nov 28, 2016
1c44857
Auto merge of #37791 - petrochenkov:where, r=nikomatsakis
bors Nov 28, 2016
67a24c2
add hint to fix error for immutable ref in arg
mikhail-m1 Nov 8, 2016
72fbf9f
fixup test cases
nikomatsakis Nov 28, 2016
5c0eb6e
evaluate obligations in LIFO order during closure projection
arielb1 Nov 28, 2016
cb9f14e
Use `Def::Err` to signal that an error has already been reported wher…
jseyfried Nov 22, 2016
af2d89c
Refactor path resoloution.
jseyfried Nov 25, 2016
e9e178a
Refactor away `ResolveResult`.
jseyfried Nov 26, 2016
7bccc9d
Clean up formatting.
jseyfried Nov 26, 2016
8fe525d
Simplify `binding.module()`.
jseyfried Nov 27, 2016
bb35d50
Refactor TyTrait to contain a interned ExistentialPredicate slice.
Mark-Simulacrum Nov 16, 2016
9b803ec
Remove auto_traits from PartitionedBounds
Mark-Simulacrum Nov 26, 2016
a79c80d
Adds TyCtxt::require_lang_item(LangItem) to simplify lang item requires.
Mark-Simulacrum Nov 26, 2016
8b82fd7
Remove allocation in push_type_params
Mark-Simulacrum Nov 26, 2016
4226930
Show `Trait` instead of `<Struct as Trait>` in E0323
estebank Nov 29, 2016
5de15be
Auto merge of #38046 - rkruppe:fix-32bit-rustbuild, r=alexcrichton
bors Nov 29, 2016
c871637
Remove `resolver.record_resolution()`.
jseyfried Nov 29, 2016
069a244
Add exprs map to crate, collect item blocks there
flodiebold Oct 27, 2016
f55482e
rustc: replace body exprs by their ids
flodiebold Oct 28, 2016
8e75473
rustc_const_eval: fix compilation
flodiebold Oct 28, 2016
8f6bb85
rustc_mir: fix compilation
flodiebold Oct 28, 2016
8c8257a
rustc_borrowck: fix compilation
flodiebold Oct 28, 2016
b7a6cf8
rustc_typeck: fix compilation
flodiebold Oct 29, 2016
490c23f
rustc_incremental: fix compilation
flodiebold Oct 29, 2016
2f6976e
rustc_incremental: fix compilation
flodiebold Oct 29, 2016
8f63b41
rustc_trans: fix compilation
flodiebold Oct 29, 2016
dd6a57c
rustc_trans: fix compilation
flodiebold Oct 29, 2016
0cdd1d4
rustc_privacy: fix compilation
flodiebold Oct 29, 2016
441e099
rustc_metadata: fix compilation
flodiebold Oct 29, 2016
2b790f7
rustc_plugin: fix compilation
flodiebold Oct 29, 2016
37e7541
rustc_plugin: fix compilation
flodiebold Oct 29, 2016
0389cc6
rustc_passes: fix compilation
flodiebold Oct 29, 2016
1ac338c
rustc_driver: fix compilation
flodiebold Oct 29, 2016
16eedd2
Save bodies of functions for inlining into other crates
flodiebold Nov 1, 2016
936dbbc
Give function bodies their own dep graph node
flodiebold Nov 5, 2016
c91037b
Fix cross-crate associated constant evaluation
flodiebold Nov 6, 2016
fb968d2
rustc_typeck: Make CollectItemTypesVisitor descend into bodies as well
flodiebold Nov 19, 2016
7b02129
Fix new tests
flodiebold Nov 20, 2016
78b54c0
Make hello_world test work again
flodiebold Nov 20, 2016
8d5ca62
Fix some comments
flodiebold Nov 21, 2016
23a8c7d
Remove unused import
flodiebold Nov 21, 2016
f75c8a9
Add make tidy fixes
flodiebold Nov 21, 2016
688946d
restructure `CollectItem` dep-node to separate fn sigs from bodies
nikomatsakis Nov 21, 2016
dd1491c
WIP: update tests to pass -- not complete
nikomatsakis Nov 21, 2016
d0ae2c8
Refactor inlined items some more
flodiebold Nov 24, 2016
d5a501d
Fix remaining SVH tests
flodiebold Nov 24, 2016
725cffb
Address remaining review comments
flodiebold Nov 24, 2016
f0ce5bb
Split nested_visit_mode function off from nested_visit_map
flodiebold Nov 24, 2016
b10bbde
Fix SVH tests some more
flodiebold Nov 24, 2016
bf298ae
Fix doc test collection
flodiebold Nov 25, 2016
8575184
Fix rebase breakage
flodiebold Nov 28, 2016
104125d
revamp `Visitor` with a single method for controlling nested visits
nikomatsakis Nov 28, 2016
9457497
update comments
nikomatsakis Nov 28, 2016
593b273
librustdoc: Fix compilation after visitor change
flodiebold Nov 29, 2016
f50dbd5
Auto merge of #37918 - flodiebold:separate-bodies, r=nikomatsakis
bors Nov 29, 2016
b30022a
Auto merge of #37369 - estebank:multiline-span, r=nikomatsakis
bors Nov 29, 2016
ffcdc19
bootstrap/README: fix small typo
cardoe Nov 29, 2016
3f338ee
rustc: remove type information from TraitDef.
eddyb Nov 25, 2016
07ff914
rustc: simplify AdtDef by removing the field types and ty::ivar.
eddyb Nov 24, 2016
fa0005f
Auto merge of #37863 - mikhail-m1:mut_error, r=nikomatsakis
bors Nov 29, 2016
80ef1db
Add new #[target_feature = "..."] attribute.
BurntSushi Nov 30, 2016
c1a6f17
rustdoc: get back missing crate-name when --playground-url is used
liigo Nov 18, 2016
943bf96
unstable --playground-url, add test code
liigo Nov 28, 2016
d5785a3
rustdoc: fix up --playground-url
liigo Nov 30, 2016
8e373b4
Auto merge of #37965 - Mark-Simulacrum:trait-obj-to-exis-predicate, r…
bors Nov 30, 2016
177913b
rustc: track the Span's of definitions across crates.
eddyb Nov 23, 2016
9001918
rustdoc: link to cross-crate sources directly.
eddyb Nov 29, 2016
336e5dd
Add missing examples for IpAddr enum
GuillaumeGomez Nov 29, 2016
3abaf43
Auto merge of #37954 - eddyb:rustdoc-2, r=alexcrichton
bors Nov 30, 2016
cd7fade
Add small-copy optimization for io::Cursor
ruuda Nov 2, 2016
3418052
Move small-copy optimization into copy_from_slice
ruuda Nov 3, 2016
3be2c3b
Move small-copy optimization into <&[u8] as Read>
ruuda Nov 12, 2016
5db4826
Auto merge of #37989 - nrc:save-mod, r=nikomatsakis
bors Nov 30, 2016
d21861d
Refactor one_bound_for_assoc_type to take an Iterator instead of Vec.
Mark-Simulacrum Nov 27, 2016
5a02480
Auto merge of #38014 - jseyfried:refactor_path_resolution, r=nrc
bors Nov 30, 2016
a15d2db
debuginfo: Ignore macro-stepping test on aarch64
michaelwoerister Nov 30, 2016
8e6ae19
Add cloned example for Option
GuillaumeGomez Nov 30, 2016
2186660
Update the bootstrap compiler
alexcrichton Nov 16, 2016
ecff71a
Auto merge of #37800 - alexcrichton:new-bootstrap, r=eddyb
bors Nov 30, 2016
8d9d07a
Removed Option<ExitStatus> member from fuchsia Process struct. Destro…
tedsta Nov 30, 2016
29a6ffa
incr.comp.: Add more output to -Z incremental-info.
michaelwoerister Nov 30, 2016
dc81742
Auto merge of #38047 - canndrew:fmt-void-non-empty, r=bluss
bors Nov 30, 2016
db93677
Document that Process::command will search the PATH
sourcefrog Nov 26, 2016
070fad1
Auto merge of #37573 - ruuda:faster-cursor, r=alexcrichton
bors Dec 1, 2016
cbf734f
Add String::split_off.
Nov 28, 2016
827eba4
Auto merge of #37911 - liigo:rustdoc-playground, r=alexcrichton
bors Dec 1, 2016
149e76f
Auto merge of #38018 - sourcefrog:doc, r=alexcrichton
bors Dec 1, 2016
908dba0
Auto merge of #38048 - rkruppe:llvm-stringref-fixes, r=alexcrichton
bors Dec 1, 2016
d950ca1
Minor fix to testing concurrency section
tarka Dec 1, 2016
57ffda6
add a `-Z incremental-dump-hash` flag
nikomatsakis Dec 1, 2016
fa22fc3
in region, treat current (and future) item-likes alike
nikomatsakis Nov 21, 2016
6fe4bff
test for #37290 using lint
nikomatsakis Nov 29, 2016
e1b752b
std::process fuchsia support cleanup
tedsta Dec 1, 2016
242cd7e
limit the length of types in monomorphization
arielb1 Nov 15, 2016
8285ab5
convert --print options to a vector
cardoe Dec 1, 2016
1077149
Auto merge of #37789 - arielb1:length-limit, r=nikomatsakis
bors Dec 2, 2016
af0a071
Auto merge of #37936 - tedsta:fuchsia_std_process, r=alexcrichton
bors Dec 2, 2016
2f8fd53
Auto merge of #38050 - alexcrichton:fix-llvm-deps, r=japaric
bors Dec 2, 2016
c80c31a
Auto merge of #38053 - eddyb:lazy-9, r=nikomatsakis
bors Dec 2, 2016
ff11264
rustc: add --print target-spec option
cardoe Apr 7, 2016
7151b5a
rustc: add basic test for --print target-spec
cardoe Apr 11, 2016
ecf6f1b
Update items section in reference
jethrogb Dec 2, 2016
0adb1b1
pacify the mercilous tidy
nikomatsakis Dec 2, 2016
dbdd60e
[LLVM] Introduce a stable representation of DIFlags
shepmaster Nov 18, 2016
757a9ce
[LLVM 4.0] Support new DIFlags enum
shepmaster Nov 18, 2016
08faff4
Auto merge of #38055 - rkruppe:rm-unused-llvm-ffi, r=alexcrichton
bors Dec 3, 2016
60d1660
Add Component examples
GuillaumeGomez Dec 3, 2016
24175e8
Auto merge of #38056 - clarcharr:master, r=alexcrichton
bors Dec 3, 2016
9a101d8
Auto merge of #38059 - arielb1:no-mere-overflow, r=nikomatsakis
bors Dec 3, 2016
8900854
Auto merge of #38061 - cardoe:target-spec, r=alexcrichton
bors Dec 3, 2016
2cdbd5e
Auto merge of #38079 - BurntSushi:attrtarget, r=alexcrichton
bors Dec 3, 2016
f809706
move test for #37290 into run-pass-fulldeps
nikomatsakis Dec 3, 2016
bf99183
Rollup merge of #37859 - GuillaumeGomez:net_examples, r=nagisa
frewsxcv Dec 3, 2016
8916acc
Rollup merge of #37919 - nikomatsakis:incremental-36168, r=mw
frewsxcv Dec 3, 2016
468ca2c
Rollup merge of #38020 - GuillaumeGomez:udp-socket-doc, r=frewsxcv
frewsxcv Dec 3, 2016
ca0c839
Rollup merge of #38028 - Mark-Simulacrum:polish, r=nikomatsakis
frewsxcv Dec 3, 2016
78c1046
Rollup merge of #38029 - dns2utf8:fix_verify.rs, r=petrochenkov
frewsxcv Dec 3, 2016
9aef89e
Rollup merge of #38065 - estebank:fix-37618, r=jonathandturner
frewsxcv Dec 3, 2016
cf29931
Rollup merge of #38073 - cardoe:fix-typo, r=frewsxcv
frewsxcv Dec 3, 2016
d68c585
Rollup merge of #38077 - GuillaumeGomez:ipaddr_doc, r=frewsxcv
frewsxcv Dec 3, 2016
d0e57b1
Rollup merge of #38089 - michaelwoerister:disable-debuginfo-test-on-a…
frewsxcv Dec 3, 2016
6c327ad
Rollup merge of #38090 - GuillaumeGomez:option_doc, r=frewsxcv
frewsxcv Dec 3, 2016
fa1af0c
Rollup merge of #38096 - michaelwoerister:more-incremental-info, r=ni…
frewsxcv Dec 3, 2016
3231641
Rollup merge of #38112 - tarka:book-testing-fix, r=steveklabnik
frewsxcv Dec 3, 2016
d6281fa
Rollup merge of #38113 - nikomatsakis:incremental-dump-hash, r=michae…
frewsxcv Dec 3, 2016
02ad965
Rollup merge of #38130 - jethrogb:patch-3, r=steveklabnik
frewsxcv Dec 3, 2016
2e038ed
Rollup merge of #38141 - GuillaumeGomez:component_doc, r=frewsxcv
frewsxcv Dec 3, 2016
28d6623
Auto merge of #38148 - frewsxcv:rollup, r=frewsxcv
bors Dec 3, 2016
125474d
Auto merge of #37857 - shepmaster:llvm-4.0-dinodes, r=michaelwoerister
bors Dec 4, 2016
d14d74d
Auto merge of #37920 - nikomatsakis:compile-time-regression-37864, r=mw
bors Dec 4, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
src/etc/pkg/rust-logo.ico binary
src/etc/pkg/rust-logo.png binary
*.woff binary
src/vendor/* binary
16 changes: 11 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
*.orig
*.out
*.patch
*.pdb
*.pdf
*.pg
*.pot
Expand All @@ -49,20 +50,27 @@
.cproject
.hg/
.hgignore
.idea
__pycache__/
*.py[cod]
*$py.class
.project
.settings/
.valgrindrc
.vscode/
/*-*-*-*/
/*-*-*/
/Makefile
/build
/config.toml
/dist/
/dl/
/doc
/inst/
/llvm/
/mingw-build/
/nd/
/obj/
/rt/
/rustllvm/
/src/libunicode/DerivedCoreProperties.txt
Expand All @@ -71,10 +79,8 @@
/src/libunicode/PropList.txt
/src/libunicode/Scripts.txt
/src/libunicode/UnicodeData.txt
/stage0/
/stage1/
/stage2/
/stage3/
/stage[0-9]+/
/target
/test/
/tmp/
TAGS
Expand All @@ -86,10 +92,10 @@ config.mk
config.stamp
keywords.md
lexer.ml
src/.DS_Store
src/etc/dl
src/librustc_llvm/llvmdeps.rs
tmp.*.rs
version.md
version.ml
version.texi
.cargo
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
url = https://github.com/rust-lang/rust-installer.git
[submodule "src/liblibc"]
path = src/liblibc
url = https://github.com/rust-lang-nursery/libc.git
url = https://github.com/rust-lang/libc.git
2 changes: 1 addition & 1 deletion .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Gareth Daniel Smith <[email protected]> Gareth Smith <garethdanielsmit
Georges Dubus <[email protected]> <[email protected]>
Graham Fawcett <[email protected]> Graham Fawcett <[email protected]>
Graydon Hoare <[email protected]> Graydon Hoare <[email protected]>
Guillaume Gomez <[email protected]>
Guillaume Gomez <[email protected]> Guillaume Gomez <[email protected]>
Heather <[email protected]> <[email protected]>
Heather <[email protected]> <[email protected]>
Herman J. Radtke III <[email protected]> Herman J. Radtke III <[email protected]>
Expand Down
87 changes: 69 additions & 18 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,82 @@
language: generic
language: rust
sudo: required
dist: trusty
services:
- docker

# LLVM takes awhile to check out and otherwise we'll manage the submodules in
# our configure script, so disable auto submodule management.
git:
depth: 1
submodules: false

before_install:
- echo 0 | sudo tee /proc/sys/net/ipv6/conf/lo/disable_ipv6
- echo 'deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main' | sudo tee -a /etc/apt/sources.list
- echo 'deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main' | sudo tee -a /etc/apt/sources.list
- sudo apt-get update
- sudo apt-get --force-yes install curl make g++ python2.7 git zlib1g-dev libedit-dev llvm-3.7-tools
matrix:
include:
# Linux builders, all docker images
- env: IMAGE=arm-android
- env: IMAGE=cross
- env: IMAGE=i686-gnu
- env: IMAGE=i686-gnu-nopt
- env: IMAGE=x86_64-freebsd
- env: IMAGE=x86_64-gnu
- env: IMAGE=x86_64-gnu-cargotest
- env: IMAGE=x86_64-gnu-debug
- env: IMAGE=x86_64-gnu-nopt
- env: IMAGE=x86_64-gnu-rustbuild
- env: IMAGE=x86_64-gnu-llvm-3.7 ALLOW_PR=1 RUST_BACKTRACE=1
- env: IMAGE=x86_64-musl

# OSX builders
- env: >
RUST_CHECK_TARGET=check
RUST_CONFIGURE_ARGS=--target=x86_64-apple-darwin
SRC=.
os: osx
install: brew install ccache
- env: >
RUST_CHECK_TARGET=check
RUST_CONFIGURE_ARGS=--target=i686-apple-darwin
SRC=.
os: osx
install: brew install ccache
- env: >
RUST_CHECK_TARGET=check
RUST_CONFIGURE_ARGS=--target=x86_64-apple-darwin --enable-rustbuild
SRC=.
os: osx
install: brew install ccache
- env: >
RUST_CHECK_TARGET=
RUST_CONFIGURE_ARGS=--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios
SRC=.
os: osx
install: brew install ccache

script:
- ./configure --llvm-root=/usr/lib/llvm-3.7
- make tidy && make check-notidy -j4
- if [ -z "$ALLOW_PR" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then
echo skipping, not a full build;
elif [ -z "$ENABLE_AUTO" ] then
echo skipping, not quite ready yet
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
git submodule update --init;
src/ci/run.sh;
else
git submodule update --init;
src/ci/docker/run.sh $IMAGE;
fi

# Real testing happens on http://buildbot.rust-lang.org/
#
# See https://github.com/rust-lang/rust-buildbot
# CONTRIBUTING.md#pull-requests
# Save tagged docker images we created and load them if they're available
before_cache:
- docker history -q rust-ci |
grep -v missing |
xargs docker save |
gzip -9 > $HOME/docker/rust-ci.tar.gz
before_install:
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true

notifications:
email: false

branches:
only:
- master
cache:
directories:
- $HOME/docker
- $HOME/.ccache
- $HOME/.cargo
40 changes: 40 additions & 0 deletions COMPILER_TESTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,43 @@ whole, instead of just a few lines inside the test.
* `ignore-test` always ignores the test
* `ignore-lldb` and `ignore-gdb` will skip the debuginfo tests
* `min-{gdb,lldb}-version`
* `should-fail` indicates that the test should fail; used for "meta testing",
where we test the compiletest program itself to check that it will generate
errors in appropriate scenarios. This header is ignored for pretty-printer tests.

## Revisions

Certain classes of tests support "revisions" (as of the time of this
writing, this includes run-pass, compile-fail, run-fail, and
incremental, though incremental tests are somewhat
different). Revisions allow a single test file to be used for multiple
tests. This is done by adding a special header at the top of the file:

```
// revisions: foo bar baz
```

This will result in the test being compiled (and tested) three times,
once with `--cfg foo`, once with `--cfg bar`, and once with `--cfg
baz`. You can therefore use `#[cfg(foo)]` etc within the test to tweak
each of these results.

You can also customize headers and expected error messages to a particular
revision. To do this, add `[foo]` (or `bar`, `baz`, etc) after the `//`
comment, like so:

```
// A flag to pass in only for cfg `foo`:
//[foo]compile-flags: -Z verbose

#[cfg(foo)]
fn test_foo() {
let x: usize = 32_u32; //[foo]~ ERROR mismatched types
}
```

Note that not all headers have meaning when customized to a revision.
For example, the `ignore-test` header (and all "ignore" headers)
currently only apply to the test as a whole, not to particular
revisions. The only headers that are intended to really work when
customized to a revision are error patterns and compiler flags.
94 changes: 91 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ links to the major sections:

* [Feature Requests](#feature-requests)
* [Bug Reports](#bug-reports)
* [The Build System](#the-build-system)
* [Pull Requests](#pull-requests)
* [Writing Documentation](#writing-documentation)
* [Issue Triage](#issue-triage)
Expand Down Expand Up @@ -70,13 +71,91 @@ which includes important information about what platform you're on, what
version of Rust you're using, etc.

Sometimes, a backtrace is helpful, and so including that is nice. To get
a backtrace, set the `RUST_BACKTRACE` environment variable. The easiest way
a backtrace, set the `RUST_BACKTRACE` environment variable to a value
other than `0`. The easiest way
to do this is to invoke `rustc` like this:

```bash
$ RUST_BACKTRACE=1 rustc ...
```

## The Build System

Rust's build system allows you to bootstrap the compiler, run tests &
benchmarks, generate documentation, install a fresh build of Rust, and more.
It's your best friend when working on Rust, allowing you to compile & test
your contributions before submission.

All the configuration for the build system lives in [the `mk` directory][mkdir]
in the project root. It can be hard to follow in places, as it uses some
advanced Make features which make for some challenging reading. If you have
questions on the build system internals, try asking in
[`#rust-internals`][pound-rust-internals].

[mkdir]: https://github.com/rust-lang/rust/tree/master/mk/

### Configuration

Before you can start building the compiler you need to configure the build for
your system. In most cases, that will just mean using the defaults provided
for Rust. Configuring involves invoking the `configure` script in the project
root.

```
./configure
```

There are large number of options accepted by this script to alter the
configuration used later in the build process. Some options to note:

- `--enable-debug` - Build a debug version of the compiler (disables optimizations,
which speeds up compilation of stage1 rustc)
- `--enable-optimize` - Enable optimizations (can be used with `--enable-debug`
to make a debug build with optimizations)
- `--disable-valgrind-rpass` - Don't run tests with valgrind
- `--enable-clang` - Prefer clang to gcc for building dependencies (e.g., LLVM)
- `--enable-ccache` - Invoke clang/gcc with ccache to re-use object files between builds
- `--enable-compiler-docs` - Build compiler documentation

To see a full list of options, run `./configure --help`.

### Useful Targets

Some common make targets are:

- `make tips` - show useful targets, variables and other tips for working with
the build system.
- `make rustc-stage1` - build up to (and including) the first stage. For most
cases we don't need to build the stage2 compiler, so we can save time by not
building it. The stage1 compiler is a fully functioning compiler and
(probably) will be enough to determine if your change works as expected.
- `make $host/stage1/bin/rustc` - Where $host is a target triple like x86_64-unknown-linux-gnu.
This will build just rustc, without libstd. This is the fastest way to recompile after
you changed only rustc source code. Note however that the resulting rustc binary
won't have a stdlib to link against by default. You can build libstd once with
`make rustc-stage1`, rustc will pick it up afterwards. libstd is only guaranteed to
work if recompiled, so if there are any issues recompile it.
- `make check` - build the full compiler & run all tests (takes a while). This
is what gets run by the continuous integration system against your pull
request. You should run this before submitting to make sure your tests pass
& everything builds in the correct manner.
- `make check-stage1-std NO_REBUILD=1` - test the standard library without
rebuilding the entire compiler
- `make check TESTNAME=<substring-of-test-name>` - Run a matching set of tests.
- `TESTNAME` should be a substring of the tests to match against e.g. it could
be the fully qualified test name, or just a part of it.
`TESTNAME=collections::hash::map::test_map::test_capacity_not_less_than_len`
or `TESTNAME=test_capacity_not_less_than_len`.
- `make check-stage1-rpass TESTNAME=<substring-of-test-name>` - Run a single
rpass test with the stage1 compiler (this will be quicker than running the
command above as we only build the stage1 compiler, not the entire thing).
You can also leave off the `-rpass` to run all stage1 test types.
- `make check-stage1-coretest` - Run stage1 tests in `libcore`.
- `make tidy` - Check that the source code is in compliance with Rust's style
guidelines. There is no official document describing Rust's full guidelines
as of yet, but basic rules like 4 spaces for indentation and no more than 99
characters in a single line should be kept in mind when writing code.

## Pull Requests

Pull requests are the primary mechanism we use to change Rust. GitHub itself
Expand All @@ -102,6 +181,15 @@ you’re adding something to the standard library, try

This will not rebuild the compiler, but will run the tests.

Please make sure your pull request is in compliance with Rust's style
guidelines by running

$ make tidy

Make this check before every pull request (and every new commit in a pull
request) ; you can add [git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
before every push to make sure you never forget to make this check.

All pull requests are reviewed by another person. We have a bot,
@rust-highfive, that will automatically assign a random person to review your
request.
Expand Down Expand Up @@ -155,7 +243,7 @@ To find documentation-related issues, sort by the [A-docs label][adocs].
In many cases, you don't need a full `make doc`. You can use `rustdoc` directly
to check small fixes. For example, `rustdoc src/doc/reference.md` will render
reference to `doc/reference.html`. The CSS might be messed up, but you can
verify that HTML is right.
verify that the HTML is right.

## Issue Triage

Expand Down Expand Up @@ -241,7 +329,7 @@ are:
[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here
[rif]: http://internals.rust-lang.org
[rr]: https://doc.rust-lang.org/book/README.html
[tlgba]: http://tomlee.co/2014/04/03/a-more-detailed-tour-of-the-rust-compiler/
[tlgba]: http://tomlee.co/2014/04/a-more-detailed-tour-of-the-rust-compiler/
[ro]: http://www.rustaceans.org/
[rctd]: ./COMPILER_TESTS.md
[cheatsheet]: http://buildbot.rust-lang.org/homu/
4 changes: 2 additions & 2 deletions COPYRIGHT
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ terms.

Longer version:

The Rust Project is copyright 2016, The Rust Project
Developers (given in the file AUTHORS.txt).
The Rust Project is copyright 2010, The Rust Project
Developers.

Licensed under the Apache License, Version 2.0
<LICENSE-APACHE or
Expand Down
2 changes: 1 addition & 1 deletion LICENSE-MIT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2016 The Rust Project Developers
Copyright (c) 2010 The Rust Project Developers

Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
Expand Down
Loading