Skip to content

Commit

Permalink
replace object_safe with dyn_compatible (#1083)
Browse files Browse the repository at this point in the history
related:
obi1kenobi/trustfall-rustdoc-adapter#718

Should we not rename the query name yet? but should I rename the test
name and all `make_me_non_object_safe` functions?

---------

Co-authored-by: Predrag Gruevski <[email protected]>
  • Loading branch information
Frank-III and obi1kenobi authored Jan 27, 2025
1 parent 1d5554a commit 063a1d2
Show file tree
Hide file tree
Showing 16 changed files with 66 additions and 66 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
SemverQuery(
id: "trait_no_longer_object_safe",
human_readable_name: "trait no longer object safe",
id: "trait_no_longer_dyn_compatible",
human_readable_name: "trait no longer dyn compatible",
description: "A trait is no longer object safe, meaning it can no longer be used as `dyn Trait`.",
required_update: Major,
lint_level: Deny,
Expand All @@ -12,7 +12,7 @@ SemverQuery(
item {
... on Trait {
visibility_limit @filter(op: "=", value: ["$public"]) @output
object_safe @filter(op: "=", value: ["$true"])
dyn_compatible @filter(op: "=", value: ["$true"])
importable_path {
path @output @tag
public_api @filter(op: "=", value: ["$true"])
Expand All @@ -25,7 +25,7 @@ SemverQuery(
... on Trait {
visibility_limit @filter(op: "=", value: ["$public"])
name @output
object_safe @filter(op: "!=", value: ["$true"])
dyn_compatible @filter(op: "!=", value: ["$true"])
importable_path {
path @filter(op: "=", value: ["%path"])
Expand All @@ -45,6 +45,6 @@ SemverQuery(
"public": "public",
"true": true,
},
error_message: "Trait is no longer object safe, which breaks `dyn Trait` usage.",
error_message: "Trait is no longer dyn compatible, which breaks `dyn Trait` usage.",
per_result_error_template: Some("trait {{name}} in file {{span_filename}}:{{span_begin_line}}"),
)
2 changes: 1 addition & 1 deletion src/query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1220,7 +1220,7 @@ add_lints!(
trait_missing,
trait_must_use_added,
trait_newly_sealed,
trait_no_longer_object_safe,
trait_no_longer_dyn_compatible,
trait_now_doc_hidden,
trait_removed_associated_constant,
trait_removed_associated_type,
Expand Down
2 changes: 1 addition & 1 deletion test_crates/trait_added_supertrait/new/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pub trait WillGainAnotherOneSealed: TraitOne + TraitTwo + sealed::Sealed {}
pub trait WillGainStdOne: Sync {}
pub trait WillGainStdTwo: core::fmt::Debug {}
pub trait WillGainStdThree: PartialEq {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillChangeStdToCore: core::fmt::Debug {}
2 changes: 1 addition & 1 deletion test_crates/trait_added_supertrait/old/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pub trait WillGainAnotherOneSealed: TraitOne + sealed::Sealed {}
pub trait WillGainStdOne {}
pub trait WillGainStdTwo {}
pub trait WillGainStdThree {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillChangeStdToCore: std::fmt::Debug {}
20 changes: 10 additions & 10 deletions test_crates/trait_associated_const_added/new/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,59 +5,59 @@ mod sealed {
pub trait WillGainConstWithoutDefault {
const BAR: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainConstWithoutDefaultSealed: sealed::Sealed {
const BAR: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait WillGainConstWithoutDefaultAndSeal: sealed::Sealed {
const BAR: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainConstWithDefault {
const BAR: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait WillGainConstWithDefaultSealed: sealed::Sealed {
const BAR: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainAnotherConstWithoutDefault {
const ONE: bool;
const TWO: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait WillGainAnotherConstWithoutDefaultSealed: sealed::Sealed {
const ONE: bool;
const TWO: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainADocHiddenConst {
#[doc(hidden)]
const BAR: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait ConstWithoutDefaultUnchanged {
const BAR: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait ConstDocHidden {
#[doc(hidden)]
const BAR: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
20 changes: 10 additions & 10 deletions test_crates/trait_associated_const_added/old/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,46 @@ mod sealed {
}

pub trait WillGainConstWithoutDefault {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainConstWithoutDefaultSealed: sealed::Sealed {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait WillGainConstWithoutDefaultAndSeal {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainConstWithDefault {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait WillGainConstWithDefaultSealed: sealed::Sealed {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainAnotherConstWithoutDefault {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait WillGainAnotherConstWithoutDefaultSealed: sealed::Sealed {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainADocHiddenConst {
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait ConstWithoutDefaultUnchanged {
const BAR: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait ConstDocHidden {
#[doc(hidden)]
const BAR: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,33 @@ mod sealed {

pub trait WillLoseDefault {
const ONE: bool;
fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillLoseDefaultSealed: sealed::Sealed {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait Unchanged {
const ONE: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait UnchangedSealed: sealed::Sealed {
const ONE: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait UnchangedNoDefault {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait UnchangedNoDefaultSealed: sealed::Sealed {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,33 @@ mod sealed {
pub trait WillLoseDefault {
const ONE: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillLoseDefaultSealed: sealed::Sealed {
const ONE: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait Unchanged {
const ONE: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait UnchangedSealed: sealed::Sealed {
const ONE: bool = true;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait UnchangedNoDefault {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
pub trait UnchangedNoDefaultSealed: sealed::Sealed {
const ONE: bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
20 changes: 10 additions & 10 deletions test_crates/trait_associated_type_added/new/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,63 +7,63 @@ mod sealed {
pub trait WillGainTypeWithoutDefault {
type Bar;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainTypeWithoutDefaultSealed: sealed::Sealed {
type Bar;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainTypeWithoutDefaultAndSeal: sealed::Sealed {
type Bar;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainTypeWithDefault {
type Bar = bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainTypeWithDefaultSealed: sealed::Sealed {
type Bar = bool;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainAnotherTypeWithoutDefault {
type One;
type Two;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainAnotherTypeWithoutDefaultSealed: sealed::Sealed {
type One;
type Two;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait WillGainADocHiddenType {
#[doc(hidden)]
type Bar;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait TypeWithoutDefaultUnchanged {
type Bar;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}

pub trait TypeDocHidden {
#[doc(hidden)]
type Bar;

fn make_me_non_object_safe() -> Self;
fn make_me_non_dyn_compatible() -> Self;
}
Loading

0 comments on commit 063a1d2

Please sign in to comment.