This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to tag v0.13.2-rc1
in repository https://gitbox.apache.org/repos/asf/fory.git

commit a5ad55b917313ef0bc2c561169bc84c8114be711
Author: Shawn Yang <[email protected]>
AuthorDate: Mon Nov 3 11:44:09 2025 +0800

    chore(rust): fix tuple test comment (#2877)
    
    <!--
    **Thanks for contributing to Apache Fory™.**
    
    **If this is your first time opening a PR on fory, you can refer to
    
[CONTRIBUTING.md](https://github.com/apache/fory/blob/main/CONTRIBUTING.md).**
    
    Contribution Checklist
    
    - The **Apache Fory™** community has requirements on the naming of pr
    titles. You can also find instructions in
    [CONTRIBUTING.md](https://github.com/apache/fory/blob/main/CONTRIBUTING.md).
    
    - Apache Fory™ has a strong focus on performance. If the PR you submit
    will have an impact on performance, please benchmark it first and
    provide the benchmark result here.
    -->
    
    ## Why?
    
    <!-- Describe the purpose of this PR. -->
    
    ## What does this PR do?
    
    <!-- Describe the details of this PR. -->
    
    ## Related issues
    
    <!--
    Is there any related issue? If this PR closes them you say say
    fix/closes:
    
    - #xxxx0
    - #xxxx1
    - Fixes #xxxx2
    -->
    
    ## Does this PR introduce any user-facing change?
    
    <!--
    If any user-facing interface changes, please [open an
    issue](https://github.com/apache/fory/issues/new/choose) describing the
    need to do so and update the document if necessary.
    
    Delete section if not applicable.
    -->
    
    - [ ] Does this PR introduce any public API change?
    - [ ] Does this PR introduce any binary protocol compatibility change?
    
    ## Benchmark
    
    <!--
    When the PR has an impact on performance (if you don't know whether the
    PR will have an impact on performance, you can submit the PR first, and
    if it will have impact on performance, the code reviewer will explain
    it), be sure to attach a benchmark data here.
    
    Delete section if not applicable.
    -->
---
 docs/guide/java_serialization_guide.md    | 50 +++++++++++++++----------------
 rust/tests/tests/test_tuple_compatible.rs |  1 -
 2 files changed, 25 insertions(+), 26 deletions(-)

diff --git a/docs/guide/java_serialization_guide.md 
b/docs/guide/java_serialization_guide.md
index e3f158ce1..5b053dfa6 100644
--- a/docs/guide/java_serialization_guide.md
+++ b/docs/guide/java_serialization_guide.md
@@ -108,31 +108,31 @@ public class Example {
 
 ## ForyBuilder options
 
-| Option Name                 | Description                                    
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
-| --------------------------- | 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 [...]
-| `timeRefIgnored`            | Whether to ignore reference tracking of all 
time types registered in `TimeSerializers` and subclasses of those types when 
ref tracking is enabled. If ignored, ref tracking of every time type can be 
enabled by invoking `Fory#registerSerializer(Class, Serializer)`. For example, 
`fory.registerSerializer(Date.class, new DateSerializer(fory, true))`. Note 
that enabling ref tracking should happen before serializer codegen of any types 
which contain time fields.  [...]
-| `compressInt`               | Enables or disables int compression for 
smaller size.                                                                   
                                                                                
                                                                                
                                                                                
                                                                                
                     [...]
-| `compressLong`              | Enables or disables long compression for 
smaller size.                                                                   
                                                                                
                                                                                
                                                                                
                                                                                
                    [...]
-| `compressIntArray`          | Enables or disables SIMD-accelerated 
compression for int arrays when values can fit in smaller data types. Requires 
Java 16+.                                                                       
                                                                                
                                                                                
                                                                                
                         [...]
-| `compressLongArray`         | Enables or disables SIMD-accelerated 
compression for long arrays when values can fit in smaller data types. Requires 
Java 16+.                                                                       
                                                                                
                                                                                
                                                                                
                        [...]
-| `compressString`            | Enables or disables string compression for 
smaller size.                                                                   
                                                                                
                                                                                
                                                                                
                                                                                
                  [...]
-| `classLoader`               | The classloader should not be updated; Fory 
caches class metadata. Use `LoaderBinding` or `ThreadSafeFory` for classloader 
updates.                                                                        
                                                                                
                                                                                
                                                                                
                  [...]
-| `compatibleMode`            | Type forward/backward compatibility config. 
Also Related to `checkClassVersion` config. `SCHEMA_CONSISTENT`: Class schema 
must be consistent between serialization peer and deserialization peer. 
`COMPATIBLE`: Class schema can be different between serialization peer and 
deserialization peer. They can add/delete fields independently. [See 
more](#class-inconsistency-and-class-version-check).                            
                                           [...]
-| `checkClassVersion`         | Determines whether to check the consistency of 
the class schema. If enabled, Fory checks, writes, and checks consistency using 
the `classVersionHash`. It will be automatically disabled when 
`CompatibleMode#COMPATIBLE` is enabled. Disabling is not recommended unless you 
can ensure the class won't evolve.                                              
                                                                                
                               [...]
-| `checkJdkClassSerializable` | Enables or disables checking of `Serializable` 
interface for classes under `java.*`. If a class under `java.*` is not 
`Serializable`, Fory will throw an `UnsupportedOperationException`.             
                                                                                
                                                                                
                                                                                
                       [...]
-| `registerGuavaTypes`        | Whether to pre-register Guava types such as 
`RegularImmutableMap`/`RegularImmutableList`. These types are not public API, 
but seem pretty stable.                                                         
                                                                                
                                                                                
                                                                                
                   [...]
-| `requireClassRegistration`  | Disabling may allow unknown classes to be 
deserialized, potentially causing security risks.                               
                                                                                
                                                                                
                                                                                
                                                                                
                   [...]
-| `requireClassRegistration`  | Set max depth for deserialization, when depth 
exceeds, an exception will be thrown. This can be used to refuse 
deserialization DDOS attack.                                                    
                                                                                
                                                                                
                                                                                
                              [...]
-| `suppressClassRegistrationWarnings` | Whether to suppress class registration 
warnings. The warnings can be used for security audit, but may be annoying, 
this suppression will be enabled by default. | `true` |
-| `metaShareEnabled` | Enables or disables meta share mode. | `true` if 
`CompatibleMode.Compatible` is set, otherwise false. |
-| `scopedMetaShareEnabled` | Scoped meta share focuses on a single 
serialization process. Metadata created or identified during this process is 
exclusive to it and is not shared with by other serializations. | `true` if 
`CompatibleMode.Compatible` is set, otherwise false. |
-| `metaCompressor` | Set a compressor for meta compression. Note that the 
passed MetaCompressor should be thread-safe. By default, a `Deflater` based 
compressor `DeflaterMetaCompressor` will be used. Users can pass other 
compressor such as `zstd` for better compression rate. | 
`DeflaterMetaCompressor` |
-| `deserializeNonexistentClass` | Enables or disables deserialization/skipping 
of data for non-existent classes. | `true` if `CompatibleMode.Compatible` is 
set, otherwise false. |
-| `codeGenEnabled` | Disabling may result in faster initial serialization but 
slower subsequent serializations. | `true` |
-| `asyncCompilationEnabled` | If enabled, serialization uses interpreter mode 
first and switches to JIT serialization after async serializer JIT for a class 
is finished. | `false` |
-| `scalaOptimizationEnabled` | Enables or disables Scala-specific 
serialization optimization. | `false` |
-| `copyRef` | When disabled, the copy performance will be better. But fory 
deep copy will ignore circular and shared reference. Same reference of an 
object graph will be copied into different objects in one `Fory#copy`. | `true` 
|
-| `serializeEnumByName` | When Enabled, fory serialize enum by name instead of 
ordinal. | `false` |
+| Option Name                         | Description                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
+| ----------------------------------- | 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 [...]
+| `timeRefIgnored`                    | Whether to ignore reference tracking 
of all time types registered in `TimeSerializers` and subclasses of those types 
when ref tracking is enabled. If ignored, ref tracking of every time type can 
be enabled by invoking `Fory#registerSerializer(Class, Serializer)`. For 
example, `fory.registerSerializer(Date.class, new DateSerializer(fory, true))`. 
Note that enabling ref tracking should happen before serializer codegen of any 
types which contain time  [...]
+| `compressInt`                       | Enables or disables int compression 
for smaller size.                                                               
                                                                                
                                                                                
                                                                                
                                                                                
                 [...]
+| `compressLong`                      | Enables or disables long compression 
for smaller size.                                                               
                                                                                
                                                                                
                                                                                
                                                                                
                [...]
+| `compressIntArray`                  | Enables or disables SIMD-accelerated 
compression for int arrays when values can fit in smaller data types. Requires 
Java 16+.                                                                       
                                                                                
                                                                                
                                                                                
                 [...]
+| `compressLongArray`                 | Enables or disables SIMD-accelerated 
compression for long arrays when values can fit in smaller data types. Requires 
Java 16+.                                                                       
                                                                                
                                                                                
                                                                                
                [...]
+| `compressString`                    | Enables or disables string compression 
for smaller size.                                                               
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
+| `classLoader`                       | The classloader should not be updated; 
Fory caches class metadata. Use `LoaderBinding` or `ThreadSafeFory` for 
classloader updates.                                                            
                                                                                
                                                                                
                                                                                
                      [...]
+| `compatibleMode`                    | Type forward/backward compatibility 
config. Also Related to `checkClassVersion` config. `SCHEMA_CONSISTENT`: Class 
schema must be consistent between serialization peer and deserialization peer. 
`COMPATIBLE`: Class schema can be different between serialization peer and 
deserialization peer. They can add/delete fields independently. [See 
more](#class-inconsistency-and-class-version-check).                            
                                   [...]
+| `checkClassVersion`                 | Determines whether to check the 
consistency of the class schema. If enabled, Fory checks, writes, and checks 
consistency using the `classVersionHash`. It will be automatically disabled 
when `CompatibleMode#COMPATIBLE` is enabled. Disabling is not recommended 
unless you can ensure the class won't evolve.                                   
                                                                                
                                  [...]
+| `checkJdkClassSerializable`         | Enables or disables checking of 
`Serializable` interface for classes under `java.*`. If a class under `java.*` 
is not `Serializable`, Fory will throw an `UnsupportedOperationException`.      
                                                                                
                                                                                
                                                                                
                      [...]
+| `registerGuavaTypes`                | Whether to pre-register Guava types 
such as `RegularImmutableMap`/`RegularImmutableList`. These types are not 
public API, but seem pretty stable.                                             
                                                                                
                                                                                
                                                                                
                       [...]
+| `requireClassRegistration`          | Disabling may allow unknown classes to 
be deserialized, potentially causing security risks.                            
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
+| `requireClassRegistration`          | Set max depth for deserialization, 
when depth exceeds, an exception will be thrown. This can be used to refuse 
deserialization DDOS attack.                                                    
                                                                                
                                                                                
                                                                                
                      [...]
+| `suppressClassRegistrationWarnings` | Whether to suppress class registration 
warnings. The warnings can be used for security audit, but may be annoying, 
this suppression will be enabled by default.                                    
                                                                                
                                                                                
                                                                                
                  [...]
+| `metaShareEnabled`                  | Enables or disables meta share mode.   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
+| `scopedMetaShareEnabled`            | Scoped meta share focuses on a single 
serialization process. Metadata created or identified during this process is 
exclusive to it and is not shared with by other serializations.                 
                                                                                
                                                                                
                                                                                
                  [...]
+| `metaCompressor`                    | Set a compressor for meta compression. 
Note that the passed MetaCompressor should be thread-safe. By default, a 
`Deflater` based compressor `DeflaterMetaCompressor` will be used. Users can 
pass other compressor such as `zstd` for better compression rate.               
                                                                                
                                                                                
                        [...]
+| `deserializeNonexistentClass`       | Enables or disables 
deserialization/skipping of data for non-existent classes.                      
                                                                                
                                                                                
                                                                                
                                                                                
                                 [...]
+| `codeGenEnabled`                    | Disabling may result in faster initial 
serialization but slower subsequent serializations.                             
                                                                                
                                                                                
                                                                                
                                                                                
              [...]
+| `asyncCompilationEnabled`           | If enabled, serialization uses 
interpreter mode first and switches to JIT serialization after async serializer 
JIT for a class is finished.                                                    
                                                                                
                                                                                
                                                                                
                      [...]
+| `scalaOptimizationEnabled`          | Enables or disables Scala-specific 
serialization optimization.                                                     
                                                                                
                                                                                
                                                                                
                                                                                
                  [...]
+| `copyRef`                           | When disabled, the copy performance 
will be better. But fory deep copy will ignore circular and shared reference. 
Same reference of an object graph will be copied into different objects in one 
`Fory#copy`.                                                                    
                                                                                
                                                                                
                    [...]
+| `serializeEnumByName`               | When Enabled, fory serialize enum by 
name instead of ordinal.                                                        
                                                                                
                                                                                
                                                                                
                                                                                
                [...]
 
 ## Advanced Usage
 
diff --git a/rust/tests/tests/test_tuple_compatible.rs 
b/rust/tests/tests/test_tuple_compatible.rs
index 79e3ed2eb..43458cb29 100644
--- a/rust/tests/tests/test_tuple_compatible.rs
+++ b/rust/tests/tests/test_tuple_compatible.rs
@@ -1042,7 +1042,6 @@ fn test_tuple_alias() {
     fory2.register::<DataRecordV2>(100).unwrap();
 
     // Test record1 serialized by fory1, deserialized by fory2
-    // Type alias can't be recognized, so attrs will be treated as missing 
field
     let record1 = DataRecordV1 {
         attrs: ((Some(true),), (vec!["test".to_string()],)),
     };


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to