Niko Matsakis
3b446b4b91
introduce QueryTypeOp
trait and use it for eq
2018-06-26 10:59:40 -04:00
Niko Matsakis
1d664622b6
remove Canonicalization
trait, which serves no purpose
2018-06-26 10:59:38 -04:00
Zack M. Davis
64365e46f2
driveby status update to 2015 comment about parens in patterns
2018-06-26 07:54:49 -07:00
Zack M. Davis
3fb76f4027
inclusive range syntax lint (...
→ ..=
)
...
Our implementation ends up changing the `PatKind::Range` variant in the
AST to take a `Spanned<RangeEnd>` instead of just a `RangeEnd`, because
the alternative would be to try to infer the span of the range operator
from the spans of the start and end subexpressions, which is both
hideous and nontrivial to get right (whereas getting the change to the
AST right was a simple game of type tennis).
This is concerning #51043 .
2018-06-26 07:54:49 -07:00
Zack M. Davis
057715557b
migrate codebase to ..=
inclusive range patterns
...
These were stabilized in March 2018's #47813 , and are the Preferred Way
to Do It going forward (q.v. #51043 ).
2018-06-26 07:53:30 -07:00
Niko Matsakis
d748dc5db0
extract query_result_substitution
helper
2018-06-26 10:51:10 -04:00
Niko Matsakis
75e3a9c8fd
rename instantiate_query_result
2018-06-26 10:51:08 -04:00
Niko Matsakis
e72dc79488
make convert
so it can apply to a single constraint
2018-06-26 10:49:24 -04:00
Niko Matsakis
3f1961d62e
extract type-ops into their own submodules
2018-06-26 10:49:24 -04:00
Niko Matsakis
7cb86ed1e3
change to crate
privacy instead of pub(super)
2018-06-26 10:49:24 -04:00
Niko Matsakis
21592cdecd
move Debug
bounds onto Lift
...
Just for convenience.
2018-06-26 10:49:24 -04:00
Niko Matsakis
be27a5a775
make one Canonicalize
impl for QueryResult
...
This lets us simplify a few type aliases.
2018-06-26 10:49:24 -04:00
Niko Matsakis
7358931a1c
improve trivial_case
handling
2018-06-26 10:49:24 -04:00
Niko Matsakis
c8cf710ce0
replace LexicalRegionConstraintData
with QueryRegionConstraint
2018-06-26 10:49:24 -04:00
Niko Matsakis
2624c14a26
extract the handling of region constraints from queries
2018-06-26 10:49:24 -04:00
Niko Matsakis
bebd3ff666
extract a helper for make_query_result
that skips canonicalization
2018-06-26 10:49:24 -04:00
Niko Matsakis
dfd33f5932
move make_query_response
into method on infcx
2018-06-26 10:49:24 -04:00
Niko Matsakis
a1811cef76
break canonicalizer into submodules to make it easier to comprehend
2018-06-26 10:49:23 -04:00
Josef Reinhard Brandl
1f9aa1332f
Split libcore/task.rs into submodules
2018-06-26 16:40:42 +02:00
Oliver Schneider
28a76a9000
Don't inspect the generated existential type items
2018-06-26 16:36:32 +02:00
Niko Matsakis
5e9f8d5c69
promote canonical into a module
2018-06-26 10:31:49 -04:00
Niko Matsakis
71234278fa
align the type-op
outputs with what canonicalized queries give
2018-06-26 10:31:49 -04:00
Niko Matsakis
6ac89174b8
mk fully_perform_op_and_get_region_constraint_data
a TypeOp method
2018-06-26 10:31:49 -04:00
Niko Matsakis
efc84c83f9
remove the TypeOp
vs InfcxTypeOp
distinction
2018-06-26 10:31:49 -04:00
Niko Matsakis
dee18864ad
promote type_op
into a mod.rs
file
2018-06-26 10:31:49 -04:00
Niko Matsakis
252a6dfa35
introduce DropckOutlives
type-op
2018-06-26 10:31:49 -04:00
Niko Matsakis
7a641cb145
make TypeOp
implement debug instead of carrying a closure
...
This allows us to avoid some silly clones etc.
2018-06-26 10:31:49 -04:00
Niko Matsakis
e7a9e7aef2
extract a enabled
helper to remove some ad-hoc conditionals
2018-06-26 10:31:49 -04:00
Niko Matsakis
65ceec71ec
make TypeOutlives
parameterized over a delegate
...
It was only using the `infcx` to "accumulate" constraints anyhow.
2018-06-26 10:31:49 -04:00
Niko Matsakis
b858ed5919
obligations.rs: rustfmt
2018-06-26 10:31:49 -04:00
Niko Matsakis
5829746ddd
resolve type vars *before* entering type_must_outlive
...
All recursive calls only use type-vars that should already be
resolved, because they were obtained from `ty`.
2018-06-26 10:31:49 -04:00
Niko Matsakis
13e77934e5
create InfcxTypeOp
that only depend on an infcx
...
We want any add'l context required to be passed through the struct
itself.
2018-06-26 10:31:49 -04:00
Niko Matsakis
846cc263cf
make normalize into an op
2018-06-26 10:31:49 -04:00
Niko Matsakis
f998628e5c
let trivial_noop
take ownership of self
2018-06-26 10:31:49 -04:00
Niko Matsakis
8147d17d8e
make normalize
take ownership of the thing to be normalized
2018-06-26 10:31:49 -04:00
Niko Matsakis
214d7650c9
introduce prove_predicates
type op
2018-06-26 10:31:49 -04:00
Niko Matsakis
7c62461c39
introduce trivial_noop
to accommodate micro-optimizations
2018-06-26 10:31:49 -04:00
Niko Matsakis
9b4fe44280
introduce Eq
type-op
2018-06-26 10:31:49 -04:00
Niko Matsakis
2b52793f74
introduce Subtype
type_op
2018-06-26 10:31:49 -04:00
Niko Matsakis
909b10c33b
introduce type_op
2018-06-26 10:31:49 -04:00
bors
2808460e0f
Auto merge of #51678 - Zoxc:combine-lints, r=estebank
...
Combine all builtin late lints
2018-06-26 14:18:13 +00:00
Oliver Schneider
a693c9206b
Use proper debugging statements for infinite recursion assertion
2018-06-26 13:56:42 +02:00
bors
764232cb2a
Auto merge of #51805 - pietroalbini:rollup, r=pietroalbini
...
Rollup of 11 pull requests
Successful merges:
- #51104 (add `dyn ` to display of dynamic (trait) types)
- #51153 (Link panic and compile_error docs)
- #51642 (Fix unknown windows build)
- #51730 (New safe associated functions for PinMut)
- #51731 (Fix ICEs when using continue as an array length inside closures (inside loop conditions))
- #51747 (Add error for using null characters in #[export_name])
- #51769 (Update broken rustc-guide links)
- #51786 (Remove unnecessary stat64 pointer casts)
- #51788 (Fix typo)
- #51789 (Don't ICE when performing `lower_pattern_unadjusted` on a `TyError`)
- #51791 (Minify css)
Failed merges:
r? @ghost
2018-06-26 11:20:18 +00:00
Fabian Kössel
bd853a6469
Add unit tests for .mod_euc()
and .div_euc()
2018-06-26 13:09:57 +02:00
Fabian Kössel
daeadc6c2e
Clarify rational behind current implementation of .mod_euc()
2018-06-26 13:09:56 +02:00
Fabian Kössel
af6f0f2e10
Document round-off error in .mod_euc()
-method, see issue #50179
2018-06-26 13:09:55 +02:00
Pietro Albini
a539885450
Rollup merge of #51791 - GuillaumeGomez:minify-css, r=estebank
...
Minify css
Sizes changes:
```
dark.css: 8821 => 7804 (~11%)
light.css: 8587 => 7565 (~11%)
rustdoc.css: 22364 => 17818 (~20%)
settings.css: 1384 => 1236 (~10%)
```
So obviously, the bigger the file, the bigger minification.
r? @QuietMisdreavus
2018-06-26 11:35:45 +02:00
Pietro Albini
f2a099b17f
Rollup merge of #51789 - estebank:issue-50577, r=oli-obk
...
Don't ICE when performing `lower_pattern_unadjusted` on a `TyError`
Fix #50577 . CC #51696 .
r? @oli-obk
2018-06-26 11:35:44 +02:00
Pietro Albini
8014713805
Rollup merge of #51788 - berkus:fix-typo, r=varkor
...
Fix typo
2018-06-26 11:35:43 +02:00
Pietro Albini
2348dc5b3f
Rollup merge of #51786 - cuviper:stat64-pointers, r=Mark-Simulacrum
...
Remove unnecessary stat64 pointer casts
In effect, these just casted `&mut stat64` to `*mut stat64`, twice.
That's harmless, but it masked a problem when this was copied to new
code calling `fstatat`, which takes a pointer to `struct stat`. That
will be fixed by #51785 , but let's remove the unnecessary casts here
too.
2018-06-26 11:35:41 +02:00