Commit graph

1092 commits

Author SHA1 Message Date
Nicholas Nethercote
b96be5b188 Avoid as_str() in ParamTy::is_self.
It's a hot function, and a direct `Symbol` comparison is faster.

The patch also converts some `&InternedString`s to `InternedString`.
2019-05-20 09:16:26 +10:00
Fabian Drinck
b18de52080 Declare DefIndex with the newtype_index macro 2019-05-18 13:19:33 +02:00
Matthew Jasper
9a4f0abd7a Don't allow any ReScope in impl trait types
This shouldn't be possible any more, but if it does happen, emit an
error rather than maybe panicking later when NLL finds a the ReScope.
Impl trait in bindings is sufficiently broken that I don't think this
breaks anything that works for it.
2019-05-12 18:51:40 +01:00
Matthew Jasper
1f5145e273 Treat generators the same as closure for escaping lifetimes 2019-05-12 17:52:33 +01:00
Matthew Jasper
664c8ed301 Always use the stronger outlives version for opaque types 2019-05-12 17:12:49 +01:00
varkor
9a2772aff0 Implement ToTrace for ty::Const 2019-05-06 15:07:46 +01:00
varkor
5fc0395053 Resolve a couple of unimplemented!()s
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-06 14:58:21 +01:00
Eduard-Mihai Burtescu
8d9f4a128c rustc: rename all occurences of "freevar" to "upvar". 2019-05-05 18:49:32 +03:00
Mazdak Farrokhzad
ffc33b3733
Rollup merge of #60513 - chrisvittal:remove-borrowck-compare, r=matthewjasper
Remove -Z borrowck=compare flag

This is the start of the work that needs to be done on #59193. It just removes the flag and updates
the tests.

r? @matthewjasper
2019-05-04 09:21:26 +02:00
Mazdak Farrokhzad
b4c620dc05
Rollup merge of #60449 - matthewjasper:impl-trait-outlives, r=pnkfelix
Constrain all regions in the concrete type for an opaque type

`push_outlives_components` skips some regions in a type, notably the signature
of a closure is ignored. Most of the time this is OK, but for opaque types the
concrete type is used when checking auto-trait bounds in other functions.

cc @nikomatsakis @pnkfelix

Closes #57464
Closes #60127
2019-05-04 09:21:23 +02:00
Christopher Vittal
db6f7a9d1a Update help message 2019-05-03 17:34:17 -04:00
Mazdak Farrokhzad
2b5e296caa
Rollup merge of #60455 - estebank:resolve-match-arm-ty, r=davidtwco
Resolve match arm ty when arms diverge

Fix #58695.
2019-05-03 16:25:04 +02:00
Mazdak Farrokhzad
bfa22cfbca
Rollup merge of #60401 - JohnTitor:rename-log, r=davidtwco
Rename `RUST_LOG` to `RUSTC_LOG`

cc: #57985

I think we should also change these submodules:

- rustc-guide
- Cargo (rename to `CARGO_LOG`, cc: https://github.com/rust-lang/cargo/pull/6605, https://github.com/rust-lang/cargo/issues/6189)
- miri
- rls
- rustfmt

r? @davidtwco
2019-05-03 16:25:00 +02:00
Christopher Vittal
7da9eeeaa7 Remove BorrowckMode::Compare 2019-05-02 15:35:49 -04:00
Matthew Jasper
d72f4de659 Constrain all regions in the concrete type for an opaque type 2019-05-02 18:56:56 +01:00
varkor
a68ed060bd Split ct_err out into CommonConsts
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:12:31 +01:00
varkor
541de81f8e Create ShallowResolver
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:11:20 +01:00
varkor
d8b1ddba9b Fix unused variable warning 2019-05-01 23:11:19 +01:00
varkor
b872e63585 Fix known-known const unification case 2019-05-01 23:11:19 +01:00
varkor
5cf45bc27a Fix rebase issue 2019-05-01 23:11:19 +01:00
varkor
972e254106 Implement const generics for InferenceFudger 2019-05-01 23:11:19 +01:00
varkor
fc16b0a147 Fix rebase from LazyConst removal 2019-05-01 23:11:19 +01:00
varkor
c888af52be Replace ConstVariableTable with UnificationTable 2019-05-01 23:10:58 +01:00
varkor
2308d2d68a Handle ConstValue::Placeholder in canonicalizer 2019-05-01 23:10:57 +01:00
varkor
e70797b575 Add PlaceholderConst 2019-05-01 23:10:57 +01:00
varkor
f5712d2de0 Add ConstValue::Placeholder 2019-05-01 23:10:57 +01:00
varkor
245a474ab7 Inline ConstError into TypeError 2019-05-01 23:10:57 +01:00
varkor
cf1a719c19 Implement fold_const for BoundVarReplacer 2019-05-01 23:10:57 +01:00
Gabriel Smith
c13aa09d49 impl fold_const for TypeFreshener
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
bd2fa222c0 Rename mk_infer to mk_ty_infer
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
7bf175f30c impl fold_const for RegionFudger
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
varkor
ef1b2acf12 Remove fold_const override for ReverseMapper
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
3f675ab038 Drive-by comment fixes
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
d113ff8ada Handle generic consts in relate and infer
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
69423b3345 Add stubs for fold_const
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
bfc39b9b87 Implement TypeRelation::consts
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
7d71a1c8a4 Add const generics to unification tables
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
b9b9994c72 Define const_unification_error
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
05ac3ac575 Define super_combine_consts
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
d4e0951fff Add CanonicalVarKind::Const
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
14f906f24e Define canonicalize_const_var
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
d7fdeffafc Add generic consts to BottomUpFolder
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
varkor
77447deb21 Add const_variable.rs
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
Esteban Küber
24fddb15e8 Resolve match arm ty when arms diverge 2019-05-01 14:57:24 -07:00
bors
47e0803d5c Auto merge of #60195 - varkor:commontypes-to-common, r=eddyb
Split `CommonTypes` into `CommonTypes` and `CommonLifetimes`

The so-called "`CommonTypes`" contains more than just types.

r? @eddyb
2019-05-01 09:32:58 +00:00
Yuki OKUSHI
bf4d0adf23 Rename to RUSTC_LOG 2019-04-30 17:27:53 +09:00
flip1995
6c272b78dc
Fix lint findings in librustc 2019-04-28 21:19:26 +02:00
bors
cfeb9171b1 Auto merge of #59540 - Zoxc:the-arena-2, r=michaelwoerister
Use arenas to avoid Lrc in queries #1

Based on https://github.com/rust-lang/rust/pull/59536.
2019-04-27 05:24:11 +00:00
varkor
7261bd88ac Update existing usages 2019-04-25 22:05:04 +01:00
bors
3991285f55 Auto merge of #59111 - gilescope:generator-better-errors, r=nikomatsakis
Improved error message when type must be bound due to generator.

Fixes #58930.

Keen to get some feedback - is this as minimal as we can get it or is there an existing visitor I could repurpose?
2019-04-25 20:27:16 +00:00