# Confused by finalization behaviour

**URL:** <https://fortran-lang.discourse.group/t/confused-by-finalization-behaviour/8720>\
**Category:** Help\
**Created:** [October 15, 2024, 4:57am UTC](https://fortran-lang.discourse.group/t/confused-by-finalization-behaviour/8720 "2024-10-15T04:57:57Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![davidpfister](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/davidpfister/32/3949_2.png) [@davidpfister](https://fortran-lang.discourse.group/u/davidpfister)\
**Post date:** [October 15, 2024, 5:19am UTC](https://fortran-lang.discourse.group/t/confused-by-finalization-behaviour/8720/2 "2024-10-15T05:19:32Z")

</div>

Hi @Blaise,  
When you use a function constructor, you return an object that serves as a rhs in your assignment

```auto
u = LinAlg_Type('u',x)

```

That object is very short lived and will be finalized once the lhs is allocated/assigned.

If you do not want to get this behavior you need to use subroutine constructors with intent out arguments.

You can have a look at this [discussion](https://fortran-lang.discourse.group/t/finalization-ifort-vs-gfortran/7816/11). You will probably find some more details about ‘final’

---

_[View the full topic](https://fortran-lang.discourse.group/t/confused-by-finalization-behaviour/8720)._
