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

Update from rust-lang/rust/master 2020-04-14 #11

Merged
merged 213 commits into from
Jul 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
213 commits
Select commit Hold shift + click to select a range
40ee620
Added a lint for .map(|x| x)
theo-lw Jun 8, 2020
7779a11
Use step_unchecked more liberally
CAD97 Jun 19, 2020
80bcbf5
Merge commit 'c2c07fa9d095931eb5684a42942a7b573a0c5238' into clippyup
flip1995 Jun 23, 2020
fb4f9a0
Fix pattern match of ExprKind::MethodCall
theo-lw Jun 23, 2020
583d644
Auto merge of #5694 - wangtheo:issue-5626, r=matthiaskrgr
bors Jun 23, 2020
7c1b3aa
Record span of `const` kw in GenericParamKind
ayazhafiz Jun 21, 2020
5987c7d
cmp_owned: avoid FP when PartialEq is not implemented symmetrically
ebroto Jun 9, 2020
b498e1d
cmp_owned: reverse operands if necessary
ebroto Jun 12, 2020
6bf5434
copy_on_clone - add machine applicability
tnielens Jun 23, 2020
a14eab3
Auto merge of #5745 - montrivo:copy_on_clone, r=phansch
bors Jun 24, 2020
46d3304
Auto merge of #5701 - ebroto:4874_cmp_owned_fp, r=flip1995
bors Jun 24, 2020
3e48aae
Clean up E0704 error explanation
GuillaumeGomez Jun 25, 2020
fa0f1d3
Change a noun to a verb to make the sentence complete
carols10cents Jun 25, 2020
88fec89
Auto merge of #5748 - carols10cents:tiny-docs-fix, r=flip1995
bors Jun 25, 2020
f5ce0e5
rustc_lint: only query `typeck_tables_of` when a lint needs it.
eddyb Jun 25, 2020
a671ea4
Rollup merge of #73597 - ayazhafiz:i/const-span, r=ecstatic-morse
Manishearth Jun 26, 2020
81810fa
Auto merge of #73756 - Manishearth:rollup-aehswb2, r=Manishearth
bors Jun 26, 2020
98a3b07
Add missing Stdin and StdinLock exampels
GuillaumeGomez Jun 26, 2020
3c5ee33
Update tests
ecstatic-morse Jun 26, 2020
9448ed4
Obviate #[allow(improper_ctypes_definitions)]
Goirad Jun 29, 2020
2e21af2
Document the union keyword
poliorcetics Jun 29, 2020
dfecaef
typeck: adding type information to projection
Azhng Jun 24, 2020
614f773
Clarify some parts by applying the suggestions from review
poliorcetics Jun 30, 2020
1e861a2
Merge remote-tracking branch 'upstream/master' into rustup2
flip1995 Jun 30, 2020
ab649c9
Disable chrono integration test
flip1995 Jun 30, 2020
ccf7cb3
Auto merge of #5751 - flip1995:rustup, r=Manishearth,flip1995
bors Jun 30, 2020
814349f
Lint enabling the whole restriction group
ebroto Jun 26, 2020
c5d8f53
Move blanket_clippy_restriction_lints to "style"
ebroto Jun 27, 2020
d05d6ab
Auto merge of #5750 - ebroto:blanket_clippy_restriction_lints, r=Mani…
bors Jun 30, 2020
bff6c43
Require `or_patterns` to suggest nesting them
ebroto Jun 30, 2020
36b7983
Auto merge of #5758 - ebroto:5704_unnested_or_pats, r=flip1995
bors Jun 30, 2020
5b9c2ff
Fix multiple_crate_versions error
Jul 1, 2020
0860375
Auto merge of #5759 - mikerite:multiple_crate_versions_20200701, r=ma…
bors Jul 1, 2020
d347d0c
Deprecate regex_macro lint
phansch Jul 1, 2020
52cc5fc
Auto merge of #5760 - phansch:deprecate-regex-macro, r=Manishearth
bors Jul 1, 2020
590e07b
rustc_lint: avoid using TypeckTables::empty for LateContext.
eddyb Jun 26, 2020
bddb266
typeck: check for infer before type impls trait
davidtwco Jul 2, 2020
30c046e
Use 'tcx for references to AccessLevels wherever possible.
eddyb Jun 25, 2020
a7c58e6
Merge remote-tracking branch 'upstream/master' into rustup
flip1995 Jul 3, 2020
c493090
Auto merge of #5763 - flip1995:rustup, r=Manishearth
bors Jul 3, 2020
754bfb1
Add configurable threshold for `type_repetition_in_bounds` lint
ThibsG Jun 28, 2020
d5a8f03
Take generic args into account for bounded type
ThibsG Jul 3, 2020
2d5930a
Don't lint for predicates generated in macros
ThibsG Jul 3, 2020
c3c4027
Added restriction lint: pattern-type-mismatch
phaylon Nov 4, 2019
55877d7
span_help_and_lint -> span_lint_and_help
phaylon Feb 9, 2020
346ee96
Adjusted expected STDERR
phaylon Feb 10, 2020
6447507
Fix rebase fallout
flip1995 Jun 8, 2020
92ecc53
Catching up with rustc changes
phaylon Jul 1, 2020
d617551
Expanded lint documentation
phaylon Jul 1, 2020
fff8e72
Auto merge of #5761 - ThibsG:TypeRepetitionThreshold, r=flip1995
bors Jul 3, 2020
aa4bee2
LateContext has only one lifetime parameter now
phaylon Jul 3, 2020
c0fd452
fmt fix
phaylon Jul 3, 2020
57cdf2d
Auto merge of #4841 - phaylon:pattern-type-mismatch, r=flip1995
bors Jul 3, 2020
bf48a2d
Lint for if let Some(x) = ... instead of Option::map_or
JarredAllen Mar 5, 2020
82f8d4d
Stop linting on macros and correctly use braces for constructs
JarredAllen Apr 25, 2020
b85796f
Properly parenthesize to avoid operator precedence errors
JarredAllen Apr 25, 2020
88c8afd
Handle ref, mut, &, and &mut on the option
JarredAllen May 10, 2020
f73b455
Refactoring
JarredAllen May 10, 2020
7c4de9d
Refactoring pt. 2
JarredAllen May 12, 2020
5e20475
Don't lint if contains a macro
JarredAllen May 31, 2020
5150277
Used clippy to clean itself
JarredAllen May 31, 2020
93f0f5d
Last few tweaks
JarredAllen Jun 12, 2020
ccb9998
Fix compile error from library change
JarredAllen Jun 25, 2020
6ce9812
Clean existing lint code to match new lint
JarredAllen Jun 25, 2020
6e2d55c
Update compile-test to follow new lint
JarredAllen Jun 27, 2020
1c32263
Formatted updates to lints
JarredAllen Jul 1, 2020
c8f700e
Fixed compile errors
JarredAllen Jul 4, 2020
310c97b
Fix caching issue when building tools.
ehuss Jul 4, 2020
3503247
Shrink ParamEnv to 16 bytes
Mark-Simulacrum Jul 3, 2020
c478b54
add as_ptr method to raw slices
RalfJung Jul 3, 2020
3b1d5e6
call the mut version as_mut_ptr and also add an as_ptr-like method to…
RalfJung Jul 3, 2020
90580c7
make unchecked slice indexing helper methods use raw pointers
RalfJung Jul 5, 2020
5f5c98b
add (unchecked) indexing methods to raw pointers and NonNull
RalfJung Jul 5, 2020
ac85692
Auto merge of #5301 - JarredAllen:option_if_let_else, r=flip1995
bors Jul 6, 2020
a6f1af7
Lint for x.powi(2) => x * x
thiagoarrais Apr 3, 2020
f627984
Lint (x * x + y * y).sqrt() => x.hypot(y)
thiagoarrais May 25, 2020
2e8a1be
new lint: match_like_matches_macro
robojumper Jul 5, 2020
0c8afa3
Lint x.log(b) / y.log(b) => x.log(y)
thiagoarrais Jun 1, 2020
1740dda
fix match_like_matches_macro in clippy
robojumper Jul 5, 2020
076ec87
Lint for to_radians and to_degrees
thiagoarrais Jun 10, 2020
f559682
Better copy for lint message
thiagoarrais Jun 15, 2020
db7bc6b
Place radian lints under suboptimal_flops
thiagoarrais Jun 15, 2020
6dc066f
Includes TODO comment for hypot lint
thiagoarrais Jun 17, 2020
6be9491
Reclassify powi(2) lint under suboptimal_flops
thiagoarrais Jun 22, 2020
3065201
Includes TODO for constants equivalent to π/180
thiagoarrais Jul 6, 2020
4705037
Auto merge of #73978 - Mark-Simulacrum:shrink-paramenv, r=nnethercote
bors Jul 6, 2020
245b006
Rollup merge of #73870 - sexxi-goose:projection-ty, r=nikomatsakis
Manishearth Jul 7, 2020
c41fcad
Auto merge of #74117 - Manishearth:rollup-ds7z0kx, r=Manishearth
bors Jul 7, 2020
00980b6
clean up E0718 explanation
GuillaumeGomez Jul 7, 2020
5307cb5
Add a lint for `.repeat(1)`
giraffate Jul 4, 2020
c8b16cd
rustdoc: Allow linking from private items to private types
dennis-hamester Jul 8, 2020
e12a316
Auto merge of #5776 - flip1995:rustup, r=flip1995
bors Jul 8, 2020
37d75da
make match_like_matches_macro only apply to matches with a wildcard
robojumper Jul 8, 2020
db1c946
unnecessary_sort_by: avoid linting if key borrows
ebroto Jun 30, 2020
dac19e3
single_match_else - single expr/stmt else block corner case
tnielens Jul 6, 2020
45eea9a
Auto merge of #5771 - montrivo:bugfix/single-match-else, r=matthiaskrgr
bors Jul 9, 2020
c79c688
Fix a broken link in CONTRIBUTING.md
giraffate Jul 9, 2020
be88122
Auto merge of #5781 - giraffate:fix_a_broken_link, r=phansch
bors Jul 9, 2020
cf91c54
Avoid "whitelist"
tamird Jul 7, 2020
298a1fa
Move range_minus_one to pedantic
chrisduerr Jun 26, 2020
ba2a85d
Run update_lints
chrisduerr Jul 3, 2020
780a4c8
Fix typo
giraffate Jul 10, 2020
b3c7196
Fix test failures
chrisduerr Jul 10, 2020
afa4148
Fix tests a bit more
chrisduerr Jul 10, 2020
7d611d9
Auto merge of #5769 - robojumper:match_like_matches_macro, r=phansch
bors Jul 10, 2020
23d7b3f
Remove an unwrap in layout computation
erikdesjardins Jul 10, 2020
1eb0053
Stabilize `transmute` in constants and statics but not const fn
oli-obk Aug 30, 2019
689e360
test: rustdoc-ui: Add issue-74134, replacing test/rustdoc/issue-74134-*
dennis-hamester Jul 11, 2020
9704859
test: rustdoc-ui: Expand issue-74134 to cover types in a private module
dennis-hamester Jul 11, 2020
8789525
test: rustdoc-ui: issue-74134: Shorten a too long line
dennis-hamester Jul 11, 2020
1b3bc16
Fix out of bounds access by checking length equality BEFORE accessing…
matthiaskrgr Jul 11, 2020
0979545
rustdoc: insert newlines between attributes
euclio Jun 28, 2020
4728438
Improve wording
GuillaumeGomez Jul 11, 2020
b57ceb4
Rollup merge of #72920 - oli-obk:const_transmute, r=RalfJung
Manishearth Jul 11, 2020
905b5ad
don't mark linux kernel module targets as a unix environment
alex Jul 11, 2020
2c5f8ab
fix phrase in new_lint issue template
matthiaskrgr Jul 11, 2020
9a8b516
Sorting feature attributes in std
tesuji Jul 10, 2020
8082fb9
rename fast_thread_local -> thread_local_dtor; thread_local -> thread…
RalfJung Jul 12, 2020
7dc3886
adjust remaining targets
RalfJung Jul 12, 2020
ff5e107
assign tracking issue
RalfJung Jul 12, 2020
1e05e09
Remove the useless indentation
tesuji Jul 10, 2020
0ff820c
Move constants to top file
tesuji Jul 12, 2020
90a7d24
Make is_valid_drive_letter function
tesuji Jul 10, 2020
27a966a
Make use of slice::strip_prefix and slice pattern
tesuji Jul 10, 2020
b1d6798
Rewrite parse_two_comps
tesuji Jul 10, 2020
0281a05
Prefer empty OsStr over unsafe cast from [u8]
tesuji Jul 10, 2020
e31898b
Reduce unsafe scope
tesuji Jul 12, 2020
5afbc52
typeck: report placeholder type error w/out span
davidtwco Jul 12, 2020
879afd5
process_unix: prefer i32::*_be_bytes over manually shifting bytes
tesuji Jul 12, 2020
083c2f6
pprust: support multiline comments within lines
davidtwco Jul 12, 2020
5daedea
Detect tuple struct incorrectly used as struct pat
estebank Jul 9, 2020
ffac887
Update RELEASES.md for 1.45.0
XAMPPRocky Jun 14, 2020
9741fbd
Don't allow `DESTDIR` to influence LLVM builds
shepmaster Jul 11, 2020
0e89f50
Clean up handling of style files in rustdoc
Cldfire Jul 12, 2020
8c45cf8
Add Ayu theme to rustdoc
Cldfire Jul 12, 2020
ed587f8
Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit whi…
AdrianCX Jul 11, 2020
9a3a31a
Added tests for volatile and nearbyint intrinsics
theo-lw Jul 13, 2020
5ff7e1a
Added ui tests for volatile and nearby intrinsics
theo-lw Jul 13, 2020
eac8092
Removed trailing whitespace
theo-lw Jul 13, 2020
e3ae4c7
Added proper explanation of ErrorCode-E0688
Polkaverse Jul 13, 2020
bc2b37a
Merge branch 'master' into E0688
Polkaverse Jul 13, 2020
8df79fc
Remove trailing whitespace
theo-lw Jul 13, 2020
fa4a737
Auto merge of #5790 - flip1995:rustup, r=flip1995
bors Jul 13, 2020
75d43aa
Rollup merge of #5443 - thiagoarrais:issue-2040, r=flip1995
flip1995 Jul 13, 2020
019e281
Rollup merge of #5752 - chrisduerr:pedantic_ranges, r=flip1995
flip1995 Jul 13, 2020
32ef448
Rollup merge of #5756 - ebroto:5754_sort_by, r=flip1995
flip1995 Jul 13, 2020
26ede31
Rollup merge of #5784 - matthiaskrgr:ice_5780, r=phansch
flip1995 Jul 13, 2020
314b068
Rollup merge of #5786 - matthiaskrgr:new_lint_issue_templ, r=phansch
flip1995 Jul 13, 2020
4b87008
Auto merge of #5792 - flip1995:rollup-torc1we, r=flip1995
bors Jul 13, 2020
f2419b9
Refactoring to use `constant_context
giraffate Jul 13, 2020
d27e7d0
Clarify the description for rfind
lynoure Jul 13, 2020
ff796b6
Rename collapsable_if fix suggestion to "collapse nested if block"
bjorn3 Jun 19, 2020
b409103
Use `.is_some()` not `Some(_)`
giraffate Jul 13, 2020
c492ca4
Use `ArrayVec` in `SparseBitSet`.
nnethercote Jul 14, 2020
aa29e3d
Rollup merge of #73354 - XAMPPRocky:relnotes-1.45.0, r=Mark-Simulacrum
Manishearth Jul 14, 2020
eb7fdb2
Rollup merge of #73852 - euclio:rustdoc-attr-newlines, r=GuillaumeGomez
Manishearth Jul 14, 2020
d9614db
Rollup merge of #73867 - poliorcetics:union-keyword, r=joshtriplett
Manishearth Jul 14, 2020
e553243
Rollup merge of #74046 - ehuss:deny-warnings-caching, r=Mark-Simulacrum
Manishearth Jul 14, 2020
549aa03
Rollup merge of #74123 - GuillaumeGomez:cleanup-e0718, r=pickfire
Manishearth Jul 14, 2020
e4a9b36
Rollup merge of #74147 - dennis-hamester:fix/issue-74134, r=jyn514
Manishearth Jul 14, 2020
fa4ada1
Rollup merge of #74285 - wangtheo:issue-71669, r=lcnr
Manishearth Jul 14, 2020
9a1df31
Rollup merge of #74286 - PankajChaudhary5:E0688, r=GuillaumeGomez
Manishearth Jul 14, 2020
4a689da
Auto merge of #74313 - Manishearth:rollup-b55rn6t, r=Manishearth
bors Jul 14, 2020
c724b67
Auto merge of #73490 - CAD97:range-unchecked-stepping, r=Amanieu
bors Jul 14, 2020
12df638
Auto merge of #5773 - giraffate:repeat_once, r=flip1995
bors Jul 14, 2020
2ca58e7
Auto merge of #5732 - bjorn3:patch-1, r=flip1995
bors Jul 14, 2020
0e9a20f
Remove unnecessary type hints from the Wake impl
yoshuawuyts Jul 14, 2020
f82ac4d
Merge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup
flip1995 Jul 14, 2020
03f565c
Rollup merge of #71237 - Cldfire:rustdoc-ayu-theme, r=GuilliaumeGomez
Manishearth Jul 14, 2020
5e61827
Rollup merge of #73720 - GuillaumeGomez:cleanup-e0704, r=Dylan-DPC
Manishearth Jul 14, 2020
905c4e0
Rollup merge of #73866 - Goirad:fix-entry-improper-ctypes, r=davidtwco
Manishearth Jul 14, 2020
6a4faa2
Rollup merge of #73965 - davidtwco:issue-73886-non-primitive-slice-ca…
Manishearth Jul 14, 2020
79894df
Rollup merge of #73986 - RalfJung:raw-slice-as-ptr, r=sfackler
Manishearth Jul 14, 2020
b9a0f58
Rollup merge of #74173 - estebank:struct-pat-as-enum, r=petrochenkov
Manishearth Jul 14, 2020
063bbc4
Rollup merge of #74220 - lzutao:windows-path-com, r=LukasKalbertodt
Manishearth Jul 14, 2020
98ceb90
Rollup merge of #74227 - erikdesjardins:layun, r=estebank
Manishearth Jul 14, 2020
aa9dc70
Rollup merge of #74239 - AdrianCX:master, r=cuviper
Manishearth Jul 14, 2020
6513578
Rollup merge of #74257 - alex:patch-1, r=joshtriplett
Manishearth Jul 14, 2020
1114f22
Rollup merge of #74270 - davidtwco:issue-74086-more-placeholder-type-…
Manishearth Jul 14, 2020
e8703e8
Rollup merge of #74296 - Lynoure:rfind-doc-improvement, r=hanna-kruppe
Manishearth Jul 14, 2020
99c0b97
Rollup merge of #74310 - nnethercote:use-ArrayVec-in-SparseBitSet, r=…
Manishearth Jul 14, 2020
2fb307a
Rollup merge of #74316 - yoshuawuyts:no-wake-type-hints, r=Mark-Simul…
Manishearth Jul 14, 2020
5414eae
Rollup merge of #74324 - flip1995:clippyup, r=Manishearth
Manishearth Jul 14, 2020
4c9e67a
Update cargo
ehuss Jul 14, 2020
ba661d8
bootstrap: Improve wording on docs for `verbose-tests`
jyn514 Jul 14, 2020
d9485be
typeck: use `item_name` in cross-crate packed diag
davidtwco Jul 14, 2020
2002eba
Auto merge of #74330 - Manishearth:rollup-mrc09pb, r=Manishearth
bors Jul 14, 2020
0429820
Suggest struct pat on incorrect unit or tuple pat
estebank Jul 10, 2020
c88409d
Suggest borrowing unsized argument types
estebank Jul 10, 2020
a15bda4
Point at type on E0275 instead of whole field
estebank Jul 10, 2020
28e6f1f
Suggest boxing or borrowing unsized fields
estebank Jul 10, 2020
b7db6bb
Remove `Sized` `on_unimplemented` note
estebank Jul 10, 2020
d989796
Suggest borrowing in more unsized fn param cases
estebank Jul 11, 2020
cccc310
lint: use `transparent_newtype_field` to avoid ICE
davidtwco Jul 14, 2020
c38b127
Remove redundant explanatory `note` for type parameters
estebank Jul 11, 2020
ff75395
Reword message
estebank Jul 14, 2020
353df59
Rollup merge of #73759 - GuillaumeGomez:stdin-examples, r=Dylan-DPC
Manishearth Jul 14, 2020
be5c7ab
Rollup merge of #74211 - estebank:struct-pat-as-unit, r=petrochenkov
Manishearth Jul 14, 2020
a364c0a
Rollup merge of #74228 - estebank:unsized-param, r=davidtwco
Manishearth Jul 14, 2020
1e74f28
Rollup merge of #74252 - shepmaster:bootstrap-rust-destdir, r=Mark-Si…
Manishearth Jul 14, 2020
fadd91c
Rollup merge of #74263 - RalfJung:thread-local, r=Mark-Simulacrum
Manishearth Jul 14, 2020
7b1247c
Rollup merge of #74271 - lzutao:cmdbytes, r=LukasKalbertodt
Manishearth Jul 14, 2020
92e90f9
Rollup merge of #74272 - davidtwco:issue-73626-multiline-mixed-commen…
Manishearth Jul 14, 2020
1cd8c5e
Rollup merge of #74332 - ehuss:update-cargo, r=ehuss
Manishearth Jul 14, 2020
aedb7c3
Rollup merge of #74334 - jyn514:config-toml-docs, r=spastorino
Manishearth Jul 14, 2020
c4fcf5a
Rollup merge of #74336 - davidtwco:issue-73112-cross-crate-packed-typ…
Manishearth Jul 14, 2020
dbe7ed3
Rollup merge of #74340 - davidtwco:issue-73747-improper-ctypes-defns-…
Manishearth Jul 14, 2020
23744c8
Auto merge of #74342 - Manishearth:rollup-l63pesj, r=Manishearth
bors Jul 14, 2020
026089b
Rename `sym::nontrapping_fptoint`.
nnethercote Jul 8, 2020
e284f5d
Fix the ordering of the static symbols.
nnethercote Jul 8, 2020
f04e866
Add and use more static symbols.
nnethercote Jul 8, 2020
5930081
Remove lots of `Symbol::as_str()` calls.
nnethercote Jul 8, 2020
567ad74
Auto merge of #74175 - nnethercote:more-static-symbols, r=oli-obk
bors Jul 15, 2020
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
  •  
  •  
  •  
13 changes: 10 additions & 3 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@ dependencies = [
"nodrop",
]

[[package]]
name = "arrayvec"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"

[[package]]
name = "atty"
version = "0.2.14"
Expand Down Expand Up @@ -164,7 +170,7 @@ version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400"
dependencies = [
"arrayvec",
"arrayvec 0.4.7",
"constant_time_eq",
]

Expand Down Expand Up @@ -714,7 +720,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
dependencies = [
"arrayvec",
"arrayvec 0.4.7",
"cfg-if",
"crossbeam-utils 0.6.5",
"lazy_static",
Expand Down Expand Up @@ -3494,8 +3500,8 @@ dependencies = [
name = "rustc_index"
version = "0.0.0"
dependencies = [
"arrayvec 0.5.1",
"rustc_serialize",
"smallvec 1.4.0",
]

[[package]]
Expand Down Expand Up @@ -3996,6 +4002,7 @@ dependencies = [
"rustc_data_structures",
"rustc_errors",
"rustc_hir",
"rustc_hir_pretty",
"rustc_index",
"rustc_infer",
"rustc_middle",
Expand Down
163 changes: 163 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,166 @@
Version 1.45.0 (2020-07-16)
==========================

Language
--------
- [Out of range float to int conversions using `as` has been defined as a saturating
conversion.][71269] This was previously undefined behaviour, but you can use the
`{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which
may be desirable in rare performance sensitive situations.
- [`mem::Discriminant<T>` now uses `T`'s discriminant type instead of always
using `u64`.][70705]
- [Function like procedural macros can now be used in expression, pattern, and statement
positions.][68717] This means you can now use a function-like procedural macro
anywhere you can use a declarative (`macro_rules!`) macro.

Compiler
--------
- [You can now override individual target features through the `target-feature`
flag.][72094] E.g. `-C target-feature=+avx2 -C target-feature=+fma` is now
equivalent to `-C target-feature=+avx2,+fma`.
- [Added the `force-unwind-tables` flag.][69984] This option allows
rustc to always generate unwind tables regardless of panic strategy.
- [Added the `embed-bitcode` flag.][71716] This codegen flag allows rustc
to include LLVM bitcode into generated `rlib`s (this is on by default).
- [Added the `tiny` value to the `code-model` codegen flag.][72397]
- [Added tier 3 support\* for the `mipsel-sony-psp` target.][72062]
- [Added tier 3 support for the `thumbv7a-uwp-windows-msvc` target.][72133]

\* Refer to Rust's [platform support page][forge-platform-support] for more
information on Rust's tiered platform support.


Libraries
---------
- [`net::{SocketAddr, SocketAddrV4, SocketAddrV6}` now implements `PartialOrd`
and `Ord`.][72239]
- [`proc_macro::TokenStream` now implements `Default`.][72234]
- [You can now use `char` with
`ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo}` to iterate over
a range of codepoints.][72413] E.g.
you can now write the following;
```rust
for ch in 'a'..='z' {
print!("{}", ch);
}
println!();
// Prints "abcdefghijklmnopqrstuvwxyz"
```
- [`OsString` now implements `FromStr`.][71662]
- [The `saturating_neg` method as been added to all signed integer primitive
types, and the `saturating_abs` method has been added for all integer
primitive types.][71886]
- [`Arc<T>`, `Rc<T>` now implement `From<Cow<'_, T>>`, and `Box` now
implements `From<Cow>` when `T` is `[T: Copy]`, `str`, `CStr`, `OsStr`,
or `Path`.][71447]
- [`Box<[T]>` now implements `From<[T; N]>`.][71095]
- [`BitOr` and `BitOrAssign` are implemented for all `NonZero`
integer types.][69813]
- [The `fetch_min`, and `fetch_max` methods have been added to all atomic
integer types.][72324]
- [The `fetch_update` method has been added to all atomic integer types.][71843]

Stabilized APIs
---------------
- [`Arc::as_ptr`]
- [`BTreeMap::remove_entry`]
- [`Rc::as_ptr`]
- [`rc::Weak::as_ptr`]
- [`rc::Weak::from_raw`]
- [`rc::Weak::into_raw`]
- [`str::strip_prefix`]
- [`str::strip_suffix`]
- [`sync::Weak::as_ptr`]
- [`sync::Weak::from_raw`]
- [`sync::Weak::into_raw`]
- [`char::UNICODE_VERSION`]
- [`Span::resolved_at`]
- [`Span::located_at`]
- [`Span::mixed_site`]
- [`unix::process::CommandExt::arg0`]

Cargo
-----

Misc
----
- [Rustdoc now supports strikethrough text in Markdown.][71928] E.g.
`~~outdated information~~` becomes "~~outdated information~~".
- [Added an emoji to Rustdoc's deprecated API message.][72014]

Compatibility Notes
-------------------
- [Trying to self initialize a static value (that is creating a value using
itself) is unsound and now causes a compile error.][71140]
- [`{f32, f64}::powi` now returns a slightly different value on Windows.][73420]
This is due to changes in LLVM's intrinsics which `{f32, f64}::powi` uses.
- [Rustdoc's CLI's extra error exit codes have been removed.][71900] These were
previously undocumented and not intended for public use. Rustdoc still provides
a non-zero exit code on errors.

Internals Only
--------------
- [Make clippy a git subtree instead of a git submodule][70655]
- [Unify the undo log of all snapshot types][69464]

[73420]: https://github.com/rust-lang/rust/issues/73420/
[72324]: https://github.com/rust-lang/rust/pull/72324/
[71843]: https://github.com/rust-lang/rust/pull/71843/
[71886]: https://github.com/rust-lang/rust/pull/71886/
[72234]: https://github.com/rust-lang/rust/pull/72234/
[72239]: https://github.com/rust-lang/rust/pull/72239/
[72397]: https://github.com/rust-lang/rust/pull/72397/
[72413]: https://github.com/rust-lang/rust/pull/72413/
[72014]: https://github.com/rust-lang/rust/pull/72014/
[72062]: https://github.com/rust-lang/rust/pull/72062/
[72094]: https://github.com/rust-lang/rust/pull/72094/
[72133]: https://github.com/rust-lang/rust/pull/72133/
[71900]: https://github.com/rust-lang/rust/pull/71900/
[71928]: https://github.com/rust-lang/rust/pull/71928/
[71662]: https://github.com/rust-lang/rust/pull/71662/
[71716]: https://github.com/rust-lang/rust/pull/71716/
[71447]: https://github.com/rust-lang/rust/pull/71447/
[71269]: https://github.com/rust-lang/rust/pull/71269/
[71095]: https://github.com/rust-lang/rust/pull/71095/
[71140]: https://github.com/rust-lang/rust/pull/71140/
[70655]: https://github.com/rust-lang/rust/pull/70655/
[70705]: https://github.com/rust-lang/rust/pull/70705/
[69984]: https://github.com/rust-lang/rust/pull/69984/
[69813]: https://github.com/rust-lang/rust/pull/69813/
[69464]: https://github.com/rust-lang/rust/pull/69464/
[68717]: https://github.com/rust-lang/rust/pull/68717/
[`Arc::as_ptr`]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.as_ptr
[`BTreeMap::remove_entry`]: https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.remove_entry
[`Rc::as_ptr`]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.as_ptr
[`rc::Weak::as_ptr`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.as_ptr
[`rc::Weak::from_raw`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.from_raw
[`rc::Weak::into_raw`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.into_raw
[`sync::Weak::as_ptr`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.as_ptr
[`sync::Weak::from_raw`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.from_raw
[`sync::Weak::into_raw`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.into_raw
[`str::strip_prefix`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.strip_prefix
[`str::strip_suffix`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.strip_suffix
[`char::UNICODE_VERSION`]: https://doc.rust-lang.org/stable/std/char/constant.UNICODE_VERSION.html
[`Span::resolved_at`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.resolved_at
[`Span::located_at`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.located_at
[`Span::mixed_site`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.mixed_site
[`unix::process::CommandExt::arg0`]: https://doc.rust-lang.org/std/os/unix/process/trait.CommandExt.html#tymethod.arg0


Version 1.44.1 (2020-06-18)
===========================

* [rustfmt accepts rustfmt_skip in cfg_attr again.][73078]
* [Don't hash executable filenames on apple platforms, fixing backtraces.][cargo/8329]
* [Fix crashes when finding backtrace on macOS.][71397]
* [Clippy applies lint levels into different files.][clippy/5356]

[71397]: https://github.com/rust-lang/rust/issues/71397
[73078]: https://github.com/rust-lang/rust/issues/73078
[cargo/8329]: https://github.com/rust-lang/cargo/pull/8329
[clippy/5356]: https://github.com/rust-lang/rust-clippy/issues/5356


Version 1.44.0 (2020-06-04)
==========================

Expand Down
3 changes: 1 addition & 2 deletions config.toml.example
Original file line number Diff line number Diff line change
Expand Up @@ -391,8 +391,7 @@
# desired in distributions, for example.
#rpath = true

# Emits extraneous output from tests to ensure that failures of the test
# harness are debuggable just from logfiles.
# Emits extra output from tests so test failures are debuggable just from logfiles.
#verbose-tests = false

# Flag indicating whether tests are compiled with optimizations (the -O flag).
Expand Down
4 changes: 4 additions & 0 deletions src/bootstrap/bin/rustc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ fn main() {
cmd.env("RUST_BACKTRACE", "1");
}

if let Ok(lint_flags) = env::var("RUSTC_LINT_FLAGS") {
cmd.args(lint_flags.split_whitespace());
}

if target.is_some() {
// The stage0 compiler has a special sysroot distinct from what we
// actually downloaded, so we just always pass the `--sysroot` option,
Expand Down
18 changes: 14 additions & 4 deletions src/bootstrap/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1130,22 +1130,32 @@ impl<'a> Builder<'a> {
cargo.env("RUSTC_VERBOSE", self.verbosity.to_string());

if source_type == SourceType::InTree {
let mut lint_flags = Vec::new();
// When extending this list, add the new lints to the RUSTFLAGS of the
// build_bootstrap function of src/bootstrap/bootstrap.py as well as
// some code doesn't go through this `rustc` wrapper.
rustflags.arg("-Wrust_2018_idioms");
rustflags.arg("-Wunused_lifetimes");
lint_flags.push("-Wrust_2018_idioms");
lint_flags.push("-Wunused_lifetimes");

if self.config.deny_warnings {
rustflags.arg("-Dwarnings");
lint_flags.push("-Dwarnings");
}

// FIXME(#58633) hide "unused attribute" errors in incremental
// builds of the standard library, as the underlying checks are
// not yet properly integrated with incremental recompilation.
if mode == Mode::Std && compiler.stage == 0 && self.config.incremental {
rustflags.arg("-Aunused-attributes");
lint_flags.push("-Aunused-attributes");
}
// This does not use RUSTFLAGS due to caching issues with Cargo.
// Clippy is treated as an "in tree" tool, but shares the same
// cache as other "submodule" tools. With these options set in
// RUSTFLAGS, that causes *every* shared dependency to be rebuilt.
// By injecting this into the rustc wrapper, this circumvents
// Cargo's fingerprint detection. This is fine because lint flags
// are always ignored in dependencies. Eventually this should be
// fixed via better support from Cargo.
cargo.env("RUSTC_LINT_FLAGS", lint_flags.join(" "));
}

if let Mode::Rustc | Mode::Codegen = mode {
Expand Down
5 changes: 5 additions & 0 deletions src/bootstrap/native.rs
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,11 @@ fn configure_cmake(
// LLVM and LLD builds can produce a lot of those and hit CI limits on log size.
cfg.define("CMAKE_INSTALL_MESSAGE", "LAZY");

// Do not allow the user's value of DESTDIR to influence where
// LLVM will install itself. LLVM must always be installed in our
// own build directories.
cfg.env("DESTDIR", "");

if builder.config.ninja {
cfg.generator("Ninja");
}
Expand Down
5 changes: 2 additions & 3 deletions src/liballoc/task.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,13 @@ fn raw_waker<W: Wake + Send + Sync + 'static>(waker: Arc<W>) -> RawWaker {

// Wake by value, moving the Arc into the Wake::wake function
unsafe fn wake<W: Wake + Send + Sync + 'static>(waker: *const ()) {
let waker: Arc<W> = unsafe { Arc::from_raw(waker as *const W) };
let waker = unsafe { Arc::from_raw(waker as *const W) };
<W as Wake>::wake(waker);
}

// Wake by reference, wrap the waker in ManuallyDrop to avoid dropping it
unsafe fn wake_by_ref<W: Wake + Send + Sync + 'static>(waker: *const ()) {
let waker: ManuallyDrop<Arc<W>> =
unsafe { ManuallyDrop::new(Arc::from_raw(waker as *const W)) };
let waker = unsafe { ManuallyDrop::new(Arc::from_raw(waker as *const W)) };
<W as Wake>::wake_by_ref(&waker);
}

Expand Down
24 changes: 12 additions & 12 deletions src/libcore/iter/range.rs
Original file line number Diff line number Diff line change
Expand Up @@ -504,9 +504,6 @@ impl<A: Step> Iterator for ops::Range<A> {
fn next(&mut self) -> Option<A> {
if self.start < self.end {
// SAFETY: just checked precondition
// We use the unchecked version here, because
// this helps LLVM vectorize loops for some ranges
// that don't get vectorized otherwise.
let n = unsafe { Step::forward_unchecked(self.start.clone(), 1) };
Some(mem::replace(&mut self.start, n))
} else {
Expand All @@ -528,7 +525,8 @@ impl<A: Step> Iterator for ops::Range<A> {
fn nth(&mut self, n: usize) -> Option<A> {
if let Some(plus_n) = Step::forward_checked(self.start.clone(), n) {
if plus_n < self.end {
self.start = Step::forward(plus_n.clone(), 1);
// SAFETY: just checked precondition
self.start = unsafe { Step::forward_unchecked(plus_n.clone(), 1) };
return Some(plus_n);
}
}
Expand Down Expand Up @@ -589,7 +587,8 @@ impl<A: Step> DoubleEndedIterator for ops::Range<A> {
#[inline]
fn next_back(&mut self) -> Option<A> {
if self.start < self.end {
self.end = Step::backward(self.end.clone(), 1);
// SAFETY: just checked precondition
self.end = unsafe { Step::backward_unchecked(self.end.clone(), 1) };
Some(self.end.clone())
} else {
None
Expand All @@ -600,7 +599,8 @@ impl<A: Step> DoubleEndedIterator for ops::Range<A> {
fn nth_back(&mut self, n: usize) -> Option<A> {
if let Some(minus_n) = Step::backward_checked(self.end.clone(), n) {
if minus_n > self.start {
self.end = Step::backward(minus_n, 1);
// SAFETY: just checked precondition
self.end = unsafe { Step::backward_unchecked(minus_n, 1) };
return Some(self.end.clone());
}
}
Expand Down Expand Up @@ -657,9 +657,6 @@ impl<A: Step> Iterator for ops::RangeInclusive<A> {
let is_iterating = self.start < self.end;
Some(if is_iterating {
// SAFETY: just checked precondition
// We use the unchecked version here, because
// otherwise `for _ in '\0'..=char::MAX`
// does not successfully remove panicking code.
let n = unsafe { Step::forward_unchecked(self.start.clone(), 1) };
mem::replace(&mut self.start, n)
} else {
Expand Down Expand Up @@ -722,7 +719,8 @@ impl<A: Step> Iterator for ops::RangeInclusive<A> {
let mut accum = init;

while self.start < self.end {
let n = Step::forward(self.start.clone(), 1);
// SAFETY: just checked precondition
let n = unsafe { Step::forward_unchecked(self.start.clone(), 1) };
let n = mem::replace(&mut self.start, n);
accum = f(accum, n)?;
}
Expand Down Expand Up @@ -775,7 +773,8 @@ impl<A: Step> DoubleEndedIterator for ops::RangeInclusive<A> {
}
let is_iterating = self.start < self.end;
Some(if is_iterating {
let n = Step::backward(self.end.clone(), 1);
// SAFETY: just checked precondition
let n = unsafe { Step::backward_unchecked(self.end.clone(), 1) };
mem::replace(&mut self.end, n)
} else {
self.exhausted = true;
Expand Down Expand Up @@ -825,7 +824,8 @@ impl<A: Step> DoubleEndedIterator for ops::RangeInclusive<A> {
let mut accum = init;

while self.start < self.end {
let n = Step::backward(self.end.clone(), 1);
// SAFETY: just checked precondition
let n = unsafe { Step::backward_unchecked(self.end.clone(), 1) };
let n = mem::replace(&mut self.end, n);
accum = f(accum, n)?;
}
Expand Down
1 change: 1 addition & 0 deletions src/libcore/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@
#![feature(associated_type_bounds)]
#![feature(const_type_id)]
#![feature(const_caller_location)]
#![feature(slice_ptr_get)]
#![feature(no_niche)] // rust-lang/rust#68303
#![feature(unsafe_block_in_unsafe_fn)]
#![deny(unsafe_op_in_unsafe_fn)]
Expand Down
Loading