Florian Warzecha
ac2c599f23
fix validation for rustc_allow_const_fn_unstable targets
...
The validation was introduced in 3a63bf0299
without strict validation of functions, e. g. all function types were
allowed.
Now the validation only allows `const fn`s.
2020-10-23 17:54:48 +02:00
Florian Warzecha
3a63bf0299
validate rustc_allow_const_fn_unstable targets
...
Adds a check to make sure `#[rustc_allow_const_fn_unstable]`
can be applied only to functions.
2020-10-22 00:02:26 +02:00
Florian Warzecha
7258740509
validate allow_internal_unstable target
...
Adds a check to make sure `#[allow_internal_unstable]`
can be applied only to macro definitions.
2020-10-21 22:49:08 +02:00
Florian Warzecha
05f4a9a42a
switch allow_internal_unstable const fns to rustc_allow_const_fn_unstable
2020-10-21 20:54:20 +02:00
bors
834821e3b6
Auto merge of #78066 - bugadani:wat, r=jonas-schievink
...
Clean up small, surprising bits of code
This PR clean up a small number of unrelated, small things I found while browsing the code base.
2020-10-18 13:50:31 +00:00
Dániel Buga
8e548bf8d6
Remove weird slice conversion
2020-10-18 10:31:58 +02:00
Dániel Buga
6f43af26e9
Clean up surprising borrow
2020-10-18 10:31:57 +02:00
bors
6af9846fcc
Auto merge of #77124 - spastorino:const-exprs-rfc-2920, r=oli-obk
...
Implement const expressions and patterns (RFC 2920)
cc `@ecstatic-morse` `@lcnr` `@oli-obk` `@petrochenkov`
2020-10-17 14:44:51 +00:00
Santiago Pastorino
fe922e567f
Lower inline const down to MIR
2020-10-16 15:21:18 -03:00
Ralf Jung
6a32e794c2
stabilize union with 'ManuallyDrop' fields and 'impl Drop for Union'
2020-10-16 11:33:33 +02:00
est31
4fa5578774
Replace target.target with target and target.ptr_width with target.pointer_width
...
Preparation for a subsequent change that replaces
rustc_target::config::Config with its wrapped Target.
On its own, this commit breaks the build. I don't like making
build-breaking commits, but in this instance I believe that it
makes review easier, as the "real" changes of this PR can be
seen much more easily.
Result of running:
find compiler/ -type f -exec sed -i -e 's/target\.target\([)\.,; ]\)/target\1/g' {} \;
find compiler/ -type f -exec sed -i -e 's/target\.target$/target/g' {} \;
find compiler/ -type f -exec sed -i -e 's/target.ptr_width/target.pointer_width/g' {} \;
./x.py fmt
2020-10-15 12:02:24 +02:00
Guillaume Gomez
11f3476c59
Enforce whitespace ascii character check for doc alias
2020-10-06 14:29:42 +02:00
Guillaume Gomez
a215151cd3
Allow ascii whitespace char for doc aliases
2020-10-05 16:37:13 +02:00
Dylan DPC
e6e7ccc28d
Rollup merge of #76329 - GuillaumeGomez:doc-alias-crate-level, r=matthewjasper
...
Add check for doc alias attribute at crate level
Fixes #76298 , #64734 , #69365 .
r? @ollie27
2020-10-05 02:29:27 +02:00
Guillaume Gomez
3641a37455
Enforce crate level attributes checks
2020-10-04 13:36:47 +02:00
bors
0d37dca25a
Auto merge of #76448 - haraldh:default_alloc_error_handler_reduced, r=Amanieu
...
Implement Make `handle_alloc_error` default to panic (for no_std + liballoc)
Related: https://github.com/rust-lang/rust/issues/66741
Guarded with `#![feature(default_alloc_error_handler)]` a default
`alloc_error_handler` is called, if a custom allocator is used and no
other custom `#[alloc_error_handler]` is defined.
2020-10-04 08:56:05 +00:00
Guillaume Gomez
3950a6d8b6
Run attributes check at crate level
2020-10-03 21:33:47 +02:00
Guillaume Gomez
0e68e1ba5c
Prevent #[doc(alias = "...")] at crate level
2020-10-03 21:33:47 +02:00
Jonas Schievink
c7c2418227
Rollup merge of #76811 - GuillaumeGomez:doc-alias-name-restriction, r=oli-obk,ollie27
...
Doc alias name restriction
Fixes #76705 .
2020-10-02 20:27:03 +02:00
Guillaume Gomez
84cb71c6fa
Forbid some characters to be used as doc alias
2020-10-02 19:26:59 +02:00
Harald Hoyer
cadd12b5f0
Implement Make handle_alloc_error
default to panic (for no_std + liballoc)
...
Related: https://github.com/rust-lang/rust/issues/66741
Guarded with `#![feature(default_alloc_error_handler)]` a default
`alloc_error_handler` is called, if a custom allocator is used and no
other custom `#[alloc_error_handler]` is defined.
The panic message does not contain the size anymore, because it would
pull in the fmt machinery, which would blow up the code size
significantly.
2020-10-02 09:00:29 +02:00
Dylan DPC
849e5636ea
Rollup merge of #77343 - varkor:rustc_args_required_const-validation, r=lcnr
...
Validate `rustc_args_required_const`
Fixes https://github.com/rust-lang/rust/issues/74608 .
2020-10-01 02:13:44 +02:00
Jonas Schievink
d4add198be
Rollup merge of #77296 - tmiasko:liveness-option, r=ecstatic-morse
...
liveness: Use Option::None to represent absent live nodes
No functional changes intended.
2020-09-30 20:56:12 +02:00
varkor
609786dbd8
Validate rustc_args_required_const
2020-09-30 11:59:44 +01:00
Tomasz Miąsko
93e3db30e9
liveness: Use Option::None to represent absent live nodes
...
No functional changes intended.
2020-09-30 00:00:00 +00:00
Tomasz Miąsko
924e8aaaf2
Liveness analysis for everybody
...
Perform liveness analysis for every body instead of limiting it to fns.
2020-09-29 23:45:31 +02:00
Tomasz Miąsko
33dde94d33
liveness: Inline visitor implementation for IrMaps
2020-09-27 23:55:53 +02:00
Tomasz Miąsko
536b51aca0
liveness: Store upvars_mentioned inside Liveness struct
2020-09-27 23:55:53 +02:00
Tomasz Miąsko
b629ffd96b
liveness: Use visit_param to add variables corresponding to params
2020-09-27 23:55:53 +02:00
Tomasz Miąsko
e0db21dc7e
liveness: Use upvars instead of FnKind to check for closures
...
Avoiding FnKind will make it easier to run liveness analysis on all
bodies in the future, not just fn-like things.
2020-09-27 23:55:52 +02:00
Tomasz Miąsko
e3319e7d16
liveness: Move body_owner field from IrMaps to Liveness
...
The Liveness struct is the only user of body_owner field. Move the
field there.
2020-09-27 23:55:52 +02:00
bors
7f7a1cbfd3
Auto merge of #77229 - tmiasko:liveness, r=lcnr
...
Small improvements in liveness pass
* Remove redundant debug logging (`add_variable` already contains logging).
* Remove redundant fields for a number of live nodes and variables.
* Delay conversion from a symbol to a string until linting.
* Inline contents of specials struct.
* Remove unnecessary local variable exit_ln.
* Use newtype_index for Variable and LiveNode.
* Access live nodes directly through self.lnks[ln].
No functional changes intended (except those related to the logging).
2020-09-27 19:38:01 +00:00
Jonas Schievink
9f086fcb00
Rollup merge of #77203 - ecstatic-morse:const-stability-attr-checks, r=oli-obk
...
Check for missing const-stability attributes in `rustc_passes`
Currently, this happens as a side effect of `is_min_const_fn`, which is non-obvious. Also adds a test for this case, since we didn't seem to have one before.
2020-09-27 18:37:21 +02:00
bors
d902752866
Auto merge of #77118 - exrook:stability-generic-parameters-2, r=varkor
...
Stability annotations on generic parameters (take 2.5)
Rebase of #72314 + more tests
Implements rust-lang/wg-allocators#2 .
2020-09-27 12:51:21 +00:00
Tomasz Miąsko
d68aa227c6
liveness: Access live nodes directly through self.lnks[ln]
2020-09-27 00:00:00 +00:00
Tomasz Miąsko
57d38975cc
liveness: Use newtype_index for Variable and LiveNode
2020-09-26 16:44:41 +02:00
Tomasz Miąsko
49d1ce00f3
liveness: Remove unnecessary local variable exit_ln
2020-09-26 16:44:28 +02:00
Tomasz Miąsko
141b91da6c
liveness: Inline contents of specials struct
2020-09-26 15:38:56 +02:00
Tomasz Miąsko
70f150b51e
liveness: Delay conversion from a symbol to a string until linting
2020-09-26 15:38:51 +02:00
Tomasz Miąsko
2fb1564457
liveness: Remove redundant fields for a number of live nodes and variables
2020-09-26 15:38:30 +02:00
Tomasz Miąsko
9b5835ec79
liveness: Remove redundant debug logging
...
The IrMaps::add_variable already contains debug logging. Don't duplicate it.
2020-09-26 15:38:22 +02:00
marmeladema
35bad3edbf
Address review comment
2020-09-25 22:48:44 +01:00
Dylan MacKenzie
61d86fa06c
Check for missing const-stability attributes in stability
...
This used to happen as a side-effect of `is_min_const_fn`, which was
subtle.
2020-09-25 14:31:32 -07:00
Jonas Schievink
ba44e9fe34
Rollup merge of #77073 - lcnr:ty-trait-param, r=matthewjasper
...
dead_code: look at trait impls even if they don't contain items
fixes #70225
2020-09-25 19:42:35 +02:00
Erik Hofmayer
138a2e5eaa
/nightly/nightly-rustc
2020-09-23 21:51:56 +02:00
Erik Hofmayer
dd66ea2d3d
Updated html_root_url for compiler crates
2020-09-23 21:14:43 +02:00
Jacob Hughes
3f1b4b39e3
Fix compilation & test failures
2020-09-22 22:54:52 -04:00
Avi Dessauer
2793da3f39
Update src/librustc_passes/stability.rs
...
Co-authored-by: varkor <github@varkor.com>
2020-09-22 21:55:38 -04:00
Avi Dessauer
41eec9065a
Update src/librustc_passes/stability.rs
...
Co-authored-by: varkor <github@varkor.com>
2020-09-22 21:55:29 -04:00
Avi Dessauer
19e90843a4
Add documentation
2020-09-22 21:55:23 -04:00