blob: 10e9fd9c6d2ba88fef4f63508b22ed9f0eb72adf [file]
// Part of the Crubit project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#[cfg(test)]
mod tests {
use googletest::prelude::*;
use struct_fields::*;
// This tests whether Crubit supports template specialization/instantiation in a
// struct field - see b/228868369.
#[gtest]
fn test_template_instantiation_in_return_value_and_parameter_type() {
// Note that the Rust code below never needs to refer to the
// mangled name of the Rust struct that the class template
// specialization/instantiation gets translated to.
// Class template instantiation used as a type of a public field.
let s = MyStruct { public_field: 123.into() };
assert_eq!(123, *s.public_field.value());
}
}