Joseph Ryan
cee8023c69
More requested changes
2020-07-27 17:34:17 -05:00
Nathaniel McCallum
25670749b4
Suppress debuginfo on naked function arguments
...
A function that has no prologue cannot be reasonably expected to support
debuginfo. In fact, the existing code (before this patch) would generate
invalid instructions that caused crashes. We can solve this easily by
just not emitting the debuginfo in this case.
Fixes https://github.com/rust-lang/rust/issues/42779
cc https://github.com/rust-lang/rust/issues/32408
2020-07-27 18:27:15 -04:00
Ximin Luo
e7089a97e7
rustbuild: refactor how the wrapper deals with exit codes
2020-07-27 23:22:07 +01:00
Ximin Luo
3dcab2922c
rustbuild: format both Ok/Err separately, since Result doesn't do it
2020-07-27 22:44:48 +01:00
Alan Somers
013e1a6e9f
Enable the profiler on FreeBSD
...
FreeBSD has been doing this in our own package builds for two months
now.
https://svnweb.freebsd.org/ports?view=revision&revision=535771
2020-07-27 15:17:15 -06:00
Ximin Luo
84896c7f09
rustbuild: use Display for exit status instead of Debug, see #74832 for justification
2020-07-27 22:06:04 +01:00
Joseph Ryan
3d707a008e
Make requested changes
2020-07-27 16:00:39 -05:00
Joseph Ryan
65bf5d5248
TODO -> FIXME
2020-07-27 16:00:39 -05:00
Joseph Ryan
a790952254
Pull out more types from html
2020-07-27 16:00:38 -05:00
Joseph Ryan
6a4396b98c
Extract Cache
and other types from html
module
2020-07-27 16:00:38 -05:00
Joseph Ryan
5bc97946ca
Refactor html backend to use generic interface
2020-07-27 16:00:38 -05:00
Joseph Ryan
c692ed468c
Move Error
and RenderInfo
out of html
module
2020-07-27 16:00:38 -05:00
bors
76e83339bb
Auto merge of #73503 - lcnr:forall-predicate-what-and-why-2, r=nikomatsakis
...
convert higher ranked `Predicate`s to `PredicateKind::ForAll`
implements step 2 of https://github.com/rust-lang/compiler-team/issues/285
r? @nikomatsakis
2020-07-27 20:16:36 +00:00
Bastian Kauschke
602ef6bc0e
clippy
2020-07-27 21:17:28 +02:00
Bastian Kauschke
833b1d84e8
cleanup
2020-07-27 21:12:51 +02:00
Bastian Kauschke
51cbcca2eb
fix rustdoc
2020-07-27 21:12:51 +02:00
Bastian Kauschke
072cc45839
it works again 🎉
2020-07-27 21:11:19 +02:00
Bastian Kauschke
825cb5bdc9
fix rebase
2020-07-27 21:08:19 +02:00
Bastian Kauschke
cd9743b4d4
directly contain PredicateAtom
in PredicateKind::ForAll
2020-07-27 21:08:14 +02:00
Bastian Kauschke
d8cf8ba5f7
introduce PredicateAtom
2020-07-27 21:07:37 +02:00
Bastian Kauschke
52af82bdb9
add reuse_or_mk_predicate
2020-07-27 21:07:37 +02:00
Bastian Kauschke
d030752f63
refactor query_outlives_constraints_into_obligations
2020-07-27 21:06:36 +02:00
Bastian Kauschke
3ba61922d2
this might be unqualified, but at least it's now quantified
2020-07-27 21:06:36 +02:00
Bastian Kauschke
562d478421
fix rustdoc
2020-07-27 21:06:36 +02:00
Bastian Kauschke
1151d62049
split ignore_qualifiers
2020-07-27 21:06:36 +02:00
Bastian Kauschke
c6c0d17c8d
review
2020-07-27 21:06:36 +02:00
Bastian Kauschke
bbd581c583
fix elaborate for predicates with unbound variables
2020-07-27 21:06:36 +02:00
Bastian Kauschke
8d4c99ad88
clippy
2020-07-27 21:06:36 +02:00
Bastian Kauschke
b79f7fbda8
rustdoc
2020-07-27 21:06:36 +02:00
Bastian Kauschke
9852b42b58
PredicateKint
-> PredicateKind
, the beginning of the end
2020-07-27 21:06:36 +02:00
Bastian Kauschke
506f4308b7
progress
2020-07-27 21:06:35 +02:00
Bastian Kauschke
4c3b1e89cf
elaborate
2020-07-27 21:06:35 +02:00
Bastian Kauschke
7f39b0c9ab
subst_supertrait
2020-07-27 21:06:35 +02:00
Bastian Kauschke
1fda8c207e
somewhat related cleanup
2020-07-27 21:06:35 +02:00
Bastian Kauschke
653f56af53
wf
2020-07-27 21:06:35 +02:00
Bastian Kauschke
c1d244ffd8
convert trivial predicates
2020-07-27 21:06:35 +02:00
Bastian Kauschke
fb36c8bc80
query_outlives_constraints_into_obligations
2020-07-27 21:06:35 +02:00
Bastian Kauschke
cd30894c2f
anonymize_predicate
2020-07-27 21:06:35 +02:00
Matthew Jasper
1b33f39126
Handle trait/projection predicates with bound regions correctly
2020-07-27 21:06:35 +02:00
Bastian Kauschke
9a33b59154
minimal
2020-07-27 21:06:35 +02:00
Guillaume Gomez
f22a34e84d
Clean up E0734 explanation
2020-07-27 20:55:30 +02:00
Bastian Kauschke
104cb878e3
add PredicateKint
, because who doesn't like bodging
2020-07-27 20:15:46 +02:00
bors
efc02b03d1
Auto merge of #74831 - Manishearth:rollup-ugw4pt4, r=Manishearth
...
Rollup of 4 pull requests
Successful merges:
- #73858 (Make more primitive integer methods const)
- #74487 (Forbid generic parameters in anon consts inside of type defaults)
- #74803 (rustbuild: fix bad usage of UNIX exec() in rustc wrapper)
- #74822 (More ensure stack to avoid segfault with increased `recursion_limit`)
Failed merges:
r? @ghost
2020-07-27 16:21:09 +00:00
Manish Goregaokar
539ba96c18
Rollup merge of #74822 - JohnTitor:no-sigsegv, r=oli-obk
...
More ensure stack to avoid segfault with increased `recursion_limit`
Fixes #74711
I do not add the test here since the limit value depends on the machine and it's hard to test the output.
r? @oli-obk
2020-07-27 09:20:20 -07:00
Manish Goregaokar
c9cdc87d8b
Rollup merge of #74803 - infinity0:fix-exec, r=nagisa
...
rustbuild: fix bad usage of UNIX exec() in rustc wrapper
exec never returns, it replaces the current process. so anything after it is unreachable. that's not how exec_cmd() is used in the surrounding code
We use `--on-fail env` on Debian. `env` always returns exit code 0. This means that the `rustc` bootstrap wrapper always returns exit code 0 even when it fails. However, the crossbeam-utils build process (due to autocfg) relies on `rustc` returning error exit codes when detecting CPU features, and ends up writing `cargo:rustc-cfg=has_atomic_u128` even when it's not detected, because the `rustc` wrapper is always giving exit code 0.
(This separately is causing our builds to try to compile rustc 40+ times, due to #74801.)
2020-07-27 09:20:18 -07:00
Manish Goregaokar
e0543409d5
Rollup merge of #74487 - lcnr:const-in-ty-default, r=varkor
...
Forbid generic parameters in anon consts inside of type defaults
Emit a resolution error for `struct Foo<T, U = [u8; std::mem::size_of::<T>()]>`.
We are unable to support this with the way `ty::Generics` is currently used,
so let's just forbid it entirely for now.
Fixes some ICE on stable, e.g.
```rust
struct Foo<T, U = [u8; std::mem::size_of::<*mut T>()]>(T, U);
```
r? @varkor @eddyb
2020-07-27 09:20:16 -07:00
Manish Goregaokar
7864c3f5fa
Rollup merge of #73858 - tspiteri:const-methods, r=oli-obk
...
Make more primitive integer methods const
Now that #72437 has been merged and `const_if_match` is stable, these methods can be stabilized const. The methods are grouped in commits according to feature names:
* `const_nonzero_int_methods`
- `NonZero*::new`
* some `const_checked_int_methods`
- `{i*,u*}::checked_add`
- `{i*,u*}::checked_sub`
- `{i*,u*}::checked_mul`
- `{i*,u*}::checked_neg`
- `{i*,u*}::checked_shl`
- `{i*,u*}::checked_shr`
- `i*::checked_abs`
* `const_saturating_int_methods`
- `{i*,u*}::saturating_add`
- `{i*,u*}::saturating_sub`
- `{i*,u*}::saturating_mul`
- `i*::saturating_neg`
- `i*::saturating_abs`
* `const_int_sign`
- `i*::signum`
* `const_ascii_ctype_on_intrinsics`
- `{char,u8}::is_ascii_alphabetic`
- `{char,u8}::is_ascii_uppercase`
- `{char,u8}::is_ascii_lowercase`
- `{char,u8}::is_ascii_alphanumeric`
- `{char,u8}::is_ascii_digit`
- `{char,u8}::is_ascii_hexdigit`
- `{char,u8}::is_ascii_punctuation`
- `{char,u8}::is_ascii_graphic`
- `{char,u8}::is_ascii_whitespace`
- `{char,u8}::is_ascii_control`
2020-07-27 09:20:15 -07:00
Bastian Kauschke
952fd0ce58
update tests
2020-07-27 16:41:27 +02:00
Bastian Kauschke
33a05b40f7
forbid generic params inside of anon consts in ty defaults
2020-07-27 16:33:23 +02:00
Bastian Kauschke
cb19cdb711
name ParamInTyOfConstArg
2020-07-27 16:33:23 +02:00