Separate contract feature gates for the internal machinery
The extended syntax for function signature that includes contract clauses should never be user exposed versus the interface we want to ship externally eventually.
This commit is contained in:
parent
b279ff9dcf
commit
6a6c6b891b
20 changed files with 210 additions and 28 deletions
|
@ -548,6 +548,8 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session, features: &Features) {
|
|||
gate_all!(pin_ergonomics, "pinned reference syntax is experimental");
|
||||
gate_all!(unsafe_fields, "`unsafe` fields are experimental");
|
||||
gate_all!(unsafe_binders, "unsafe binder types are experimental");
|
||||
gate_all!(rustc_contracts, "contracts are experimental");
|
||||
gate_all!(rustc_contracts_internals, "contract internal machinery is for internal use only");
|
||||
|
||||
if !visitor.features.never_patterns() {
|
||||
if let Some(spans) = spans.get(&sym::never_patterns) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue