File tree Expand file tree Collapse file tree 5 files changed +7
-36
lines changed
Expand file tree Collapse file tree 5 files changed +7
-36
lines changed Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ fn gen_field_as_debug_non_exhaustive(field: &Field) -> TokenStream2 {
5252 let name = & field. ident ;
5353
5454 quote ! {
55- match :: partialdebug :: specialization :: AsDebug :: as_debug ( & self . #name) {
55+ match :: core :: any :: try_as_dyn :: <_ , dyn :: core :: fmt :: Debug > ( & self . #name) {
5656 :: core:: option:: Option :: None => {
5757 __exhaustive = false ;
5858 }
@@ -213,7 +213,7 @@ fn gen_field_as_debug_placeholder(
213213 quote ! {
214214 . field(
215215 #name_arg
216- match :: partialdebug :: specialization :: AsDebug :: as_debug ( & #field_handle) {
216+ match :: core :: any :: try_as_dyn :: <_ , dyn :: core :: fmt :: Debug > ( & #field_handle) {
217217 :: core:: option:: Option :: None => & :: partialdebug:: Placeholder ( #placeholder_string) ,
218218 :: core:: option:: Option :: Some ( __field) => __field,
219219 } ,
Original file line number Diff line number Diff line change 8888//! ### Caveats
8989//!
9090//! Trait detection for generic types requires specialization.
91- //! To enable specialization based trait detection use a nightly compiler and enable the `unstable` feature.
91+ //! To enable specialization based trait detection, use a nightly compiler and enable the `unstable` feature.
9292//!
9393//! ```
9494//! use partialdebug::placeholder::PartialDebug;
104104
105105#![ no_std]
106106#![ warn( missing_docs, trivial_casts, rust_2018_idioms) ]
107- #![ cfg_attr( feature = "unstable" , allow( incomplete_features) ) ]
108- #![ cfg_attr( feature = "unstable" , feature( specialization) ) ]
107+ #![ cfg_attr( feature = "unstable" , feature( try_as_dyn) ) ]
109108
110109use core:: fmt:: { Debug , Formatter , Result } ;
111110
@@ -124,9 +123,6 @@ impl Debug for Placeholder {
124123
125124#[ cfg( any( not( feature = "unstable" ) , doc) ) ]
126125pub mod no_specialization;
127- /// Trait detection logic using specialization
128- #[ cfg( feature = "unstable" ) ]
129- pub mod specialization;
130126
131127/// The placeholder version of `PartialDebug`
132128pub mod placeholder {
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 11#![ no_implicit_prelude]
22#![ no_std]
33#![ allow( dead_code) ]
4+ #![ cfg_attr( feature = "unstable" , feature( try_as_dyn) ) ]
45
56use :: partialdebug;
67
Original file line number Diff line number Diff line change 1+ #![ cfg_attr( feature = "unstable" , feature( try_as_dyn) ) ]
2+
13mod partial {
24 use partialdebug:: placeholder:: PartialDebug ;
35
You can’t perform that action at this time.
0 commit comments