124513 Commits

Author SHA1 Message Date
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